docu: Setup info
This commit is contained in:
parent
8ebcfeca0b
commit
ba15a542b9
45
README.md
45
README.md
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user