docu: added information on architecture and progress
This commit is contained in:
parent
01a603b8d4
commit
f25815e617
60
README.md
60
README.md
@ -7,7 +7,7 @@ designed to manage and track work hours efficiently. The system showcases a
|
||||
backend developed in both Go and Dart with functional programming principles,
|
||||
and a React frontend to provide an interactive user experience.
|
||||
|
||||
## Features
|
||||
## Features (longterm Goal)
|
||||
|
||||
- User management: Registration, login, profile updates.
|
||||
- Time tracking: Start/stop time tracking, manual entry, break management.
|
||||
@ -21,6 +21,13 @@ and a React frontend to provide an interactive user experience.
|
||||
The project follows Domain-Driven Design (DDD) and Clean Architecture principles
|
||||
to ensure a modular, maintainable, and scalable codebase. The system is
|
||||
structured into well-defined layers with separation of concerns.
|
||||
The backend logic is divided in four primary layers:
|
||||
1. Domain-Layer: This layer contains only interfaces and definitions. Objects within can be regarded as contracts.
|
||||
2. Infrastructure-Layer: This layer contains implementations that rely on external sourcs. (e.g. database, configuration files)
|
||||
3. Application-Layer: All businesslogic is implemented within the application layer. This Layer defines how the applogic behaves and how the server responds.
|
||||
4. Interface-Layer: Analogous to the Infrastructure-Layer, this Layer defines the external interface of the application.
|
||||
|
||||

|
||||
|
||||
### Technology Stack
|
||||
|
||||
@ -34,7 +41,7 @@ structured into well-defined layers with separation of concerns.
|
||||
- **Databases**: PostgreSQL for primary data storage, Redis for caching and
|
||||
real-time updates.
|
||||
|
||||
## Directory Structure
|
||||
### Directory Structure
|
||||
|
||||
- `backend-go/`: Go backend implementation.
|
||||
- `backend-dart/`: Dart backend implementation.
|
||||
@ -45,6 +52,7 @@ structured into well-defined layers with separation of concerns.
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
All prerequistes are already bundled with the devcontainer
|
||||
|
||||
- Node.js (for the React frontend)
|
||||
- Go (for the Go backend)
|
||||
@ -131,6 +139,54 @@ attribute was injected in the dom `data-lt-installed="true"`
|
||||

|
||||
|
||||
|
||||
## Roadmap
|
||||
|
||||
1. Phase: Initialize
|
||||
- Definition with Spec
|
||||
- Initialize Repository
|
||||
2. Phase: Initial Setup
|
||||
- Frontend with NextJS and Deno
|
||||
- Backend
|
||||
- Dart
|
||||
- Go
|
||||
- Dev-Container
|
||||
3. Phase: Implement backends (first Iteration)
|
||||
Goal: Implement working MVPs in GO and Dart to showoff functional programming in both languages
|
||||
- Frontend foundation (basic setup, not connected to backend)
|
||||
- Backend foundation
|
||||
- Dart
|
||||
- Go
|
||||
- Domain
|
||||
- Entities
|
||||
- Repositories
|
||||
- DataSources
|
||||
- Application (Business Logic)
|
||||
- Services (Endpoints)
|
||||
- DTOs
|
||||
- Authentication with JWT Token
|
||||
- Simple Authorization
|
||||
- Dart Testing
|
||||
- Rpository Tests
|
||||
- API Handler Tests
|
||||
|
||||
progress is currently here
|
||||
|
||||
3. Phase: Web UI (second Iteration)
|
||||
- Introduce Permission System
|
||||
- Reporting for TimeEntries (with MapReduce...)
|
||||
- Frontend
|
||||
- Timetracker
|
||||
- Manage Projects
|
||||
- Manage TimeEntries
|
||||
- Manage Tasks
|
||||
- View Reports
|
||||
|
||||
Ideas for Advanced Features and further Iterations
|
||||
- Exports (Excel, PDF)
|
||||
- Maybe Billing
|
||||
- Multitennant
|
||||
|
||||
|
||||
## Resources
|
||||
|
||||
### Zen of Go
|
||||
|
BIN
docs/media/architecture.png
Normal file
BIN
docs/media/architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
Loading…
x
Reference in New Issue
Block a user