From f25815e6172736354633d73a8b90993cce569228 Mon Sep 17 00:00:00 2001 From: Jean Jacques Avril Date: Sat, 4 Jan 2025 19:07:52 +0000 Subject: [PATCH] docu: added information on architecture and progress --- README.md | 60 ++++++++++++++++++++++++++++++++++-- docs/media/architecture.png | Bin 0 -> 70908 bytes 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 docs/media/architecture.png diff --git a/README.md b/README.md index eda02a1..ba5940d 100755 --- a/README.md +++ b/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. + +![alt text](docs/media/architecture.png) ### 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"` ![alt text](docs/media/image.png) +## 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 diff --git a/docs/media/architecture.png b/docs/media/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..a3456ec0d50a0e562c2a9243a2a957062b732cfc GIT binary patch literal 70908 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 ZL+lyt^g5U&U6=^`=pqd@E7Z~V{|7vhfnopv literal 0 HcmV?d00001