docu: Setup info

This commit is contained in:
Jean Jacques Avril 2025-01-04 19:40:09 +00:00
parent 8ebcfeca0b
commit ba15a542b9
No known key found for this signature in database

View File

@ -2,7 +2,8 @@
## 🌟 Overview ## 🌟 Overview
**ActaTempus** is a sophisticated web application designed for efficient work hour management and tracking. Featuring a dual backend developed in **Go** and **Dart** alongside a modern **Next.js frontend**, ActaTempus emphasizes functional programming principles and streamlined user experience. **ActaTempus** for work hour management and tracking. In the current state the goal of the project is, to show differences and similarities in functional porgramming.
Therefore the backend is currently developed in **Go** and **Dart**. The Implementations emphasize functional programming principles leading to a streamlined user experience.
--- ---
@ -42,12 +43,6 @@ The system is divided into **four primary layers**:
### 🎨 Frontend: ### 🎨 Frontend:
- **Next.js**: React framework for SSR and SPA capabilities - **Next.js**: React framework for SSR and SPA capabilities
- **Deno**: Lightweight, secure runtime for development tooling - **Deno**: Lightweight, secure runtime for development tooling
- **Dependencies**:
- `fp-ts`: Functional programming in TypeScript
- `@reactivex/rxjs`: Reactive programming
- `clsx`: Conditional class handling
- `lucide-react`: Icon library
- `next-intl`: Internationalization
### ⚙️ Backend: ### ⚙️ Backend:
#### Go: #### Go:
@ -131,25 +126,55 @@ dart run bin/backend_dart.dart # Starts on port 8080
## 🗄️ Database Management ## 🗄️ Database Management
ActaTempus uses **Prisma ORM** for database schema management and code generation across both backends. ActaTempus uses **Prisma ORM** for database schema management and code generation across both backends.
Before the backend can connect you need to start the PostgresSQL server. To make things easier you can launch
### Deploy the Schema Postges with the shipped ```docker-compose.yml```.
```bash ```bash
bunx prisma db push docker compose up
```
### Deploy the Schema
You only need to apply the schema with one of the following commands, as both result in the same schema.
In case if you want to change the corresponding server edit the ```.env```-file within the backend projects.
```bash
cd backend-dart
go run github.com/steebchen/prisma-client-go db push # within backend-go
```
or
```bash
cd backend-go
go run github.com/steebchen/prisma-client-go db push # within backend-go
``` ```
### Prisma Studio (UI) ### Prisma Studio (UI)
Prisma Studio is WebUI that improves development with Databases as it allows looking right into the data as well as well as altering it.
```bash ```bash
cd backend-dart
bunx prisma studio bunx prisma studio
``` ```
### Code Generation ### Code Generation
To generate ORM Code for the specifig backend run the following commands.
This is usually necessary after changes are made to the projects ``schema.prisma``-file.
#### Dart
```bash ```bash
cd backend-dart
bunx prisma generate bunx prisma generate
``` ```
#### Go
```bash
cd backend-go
go run github.com/steebchen/prisma-client-go generate
```
--- ---
## 🔧 Known Issues ## 🔧 Known Issues