Skip to content

Code base improvements #509

@mcpolo99

Description

@mcpolo99

Is your feature request related to a problem? Please describe.

This is not really a feature to the app itself but a structural improvement.
This project currently has a very messy codebase which makes onboarding quite messy and much harder.

Describe the solution you'd like

A cleaner and clearer structure to the code base.

A clear separation from frontend and backend.
Exampel:
Workspace
├─ App:
│ ├─ Backend:
│ │ ├─ src (all source for backend only)/
│ │ │ ├─ api/
│ │ │ ├─ main.py
│ │ │ ├─ init.py
│ │ │ └─ All other files dirs etc
│ │ ├─ tests(only tests for backend) /
│ │ ├─ docs(backend docs only)/
│ │ ├─ script (backend specific)/
│ │ ├─ Dockerfile
│ │ ├─ pyproject.toml
│ │ └─ any additional files
│ └─ Frontend:
│ ├─ src (all source for frontend only)/
│ │ ├─ client/ (api from bkend)
│ │ ├─ Components/
│ │ └─ All other files dirs etc
│ ├─ tests(only tests for frontend) /
│ ├─ docs(front docs only)/
│ ├─ script (front specific)/
│ ├─ Dockerfile
│ └─ any additional files

├─ Scripts (global scripts)/
│ ├─ Test (init scripts for tests)/
│ │ ├─ test_build.sh
│ │ ├─ test_frontend.sh
│ │ ├─ test_backend.sh
│ │
│ ├─ Build (Build scripts)/

├─ Docker(different dockerfile)/
├─ Setup.sh (simply to setup env)
├─ docker_run.py (simple cli docker run)

Describe alternatives you've considered

Helping with the structuring, though it would be a big need to separate the base frontend and backend from each other.

Additional context

The reason for such restructuring is simple:
- Easier onboarding
- Greater separation of concern
- Clear structure makes it easier to maintain.
- Easier to focus on either front or backend
- Independent builds.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions