1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 08:29:36 +01:00

refactor: restructure repository with separate backend and frontend directories

- Move Java backend to backend/ directory
- Create frontend/ directory for TypeScript TUI and future WebUI
- Update .gitignore for Node.js and worktrees
- Update README.md with new repository structure
- Copy documentation to backend/
This commit is contained in:
Sebastian Frick 2026-02-17 22:08:51 +01:00
parent ec9114aa0a
commit c2c48a03e8
141 changed files with 734 additions and 9 deletions

View file

@ -2,6 +2,20 @@
ERP-System für Fleischereien mit HACCP-Compliance, GoBD-konform, Mehrfilialen-Support.
## Repository Structure
```
effigenix/
├── backend/ # Java Spring Boot Backend
│ ├── src/ # Java source code (DDD + Clean Architecture)
│ ├── docs/ # Backend documentation
│ └── pom.xml # Maven configuration
└── frontend/ # TypeScript Frontend (TUI & WebUI)
├── apps/ # Applications (CLI TUI, WebUI)
└── packages/ # Shared packages (api-client, types, validation)
```
## Architektur
**Domain-Driven Design + Clean Architecture + Java 21 + Spring Boot**
@ -58,14 +72,15 @@ ERP-System für Fleischereien mit HACCP-Compliance, GoBD-konform, Mehrfilialen-S
## Getting Started
### Prerequisites
### Backend (Java Spring Boot)
**Prerequisites:**
- Java 21+
- Maven 3.9+
- PostgreSQL 15+
- Docker (optional, für PostgreSQL)
### Database Setup
**Database Setup:**
```bash
# PostgreSQL mit Docker
@ -77,9 +92,11 @@ docker run --name effigenix-postgres \
-d postgres:15
```
### Build & Run
**Build & Run:**
```bash
cd backend
# Build
mvn clean install
@ -90,16 +107,41 @@ mvn spring-boot:run
mvn spring-boot:run -Dspring-boot.run.profiles=dev
```
### API Documentation
**API Documentation:**
Nach dem Start verfügbar unter:
- Swagger UI: http://localhost:8080/swagger-ui.html
- OpenAPI Spec: http://localhost:8080/api-docs
### Frontend (TypeScript TUI)
**Prerequisites:**
- Node.js 20+
- pnpm 9+
**Setup & Run:**
```bash
cd frontend
# Install dependencies
pnpm install
# Run TUI in dev mode
pnpm run dev
# Build for production
pnpm run build
```
Detailed frontend documentation: [frontend/README.md](frontend/README.md)
## Project Structure
**Backend (Java):**
```
src/main/java/com/effigenix/
backend/src/main/java/de/effigenix/
├── domain/ # Domain Layer (keine Framework-Dependencies!)
│ └── usermanagement/
│ ├── User.java
@ -120,8 +162,27 @@ src/main/java/com/effigenix/
├── security/ # AuthorizationPort, Action
└── common/ # Result, ApplicationError
src/main/resources/
└── db/migration/ # Flyway Migrations
backend/src/main/resources/
└── db/migration/ # Liquibase Migrations
```
**Frontend (TypeScript):**
```
frontend/
├── apps/
│ └── cli/ # Terminal UI (Ink)
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── hooks/ # React hooks
│ │ └── state/ # State management
│ └── package.json
└── packages/ # Shared packages (reusable for WebUI)
├── api-client/ # HTTP client für Backend API
├── types/ # TypeScript types (generated from OpenAPI)
├── validation/ # Zod schemas
└── config/ # Shared configuration
```
## User Management (Generic Subdomain)
@ -166,7 +227,11 @@ public class CreateRecipe {
## Testing
**Backend:**
```bash
cd backend
# Unit Tests
mvn test
@ -177,6 +242,21 @@ mvn verify
mvn clean verify jacoco:report
```
**Frontend:**
```bash
cd frontend
# Unit Tests
pnpm test
# Test Coverage
pnpm run test:coverage
# Type Check
pnpm run typecheck
```
## License
Proprietary - Effigenix GmbH