Skip to content

Frontend codebase structure cleanup #286

@zalexa19

Description

@zalexa19

The frontend structure needs cleanup for better scalability and maintainability.

Work

  • Restructure folders by feature
  • Co-locate related files
  • Remove legacy/unused structure
  • Normalize naming
  • Update README file with guidelines

Result
Cleaner structure, easier onboarding, and more predictable code organization — with no functional changes.

Features:

  1. login
  2. search
  3. trainee profile
    • personal
    • education
      * strikes
      * tests
    • contact
    • employment
    • interaction
  4. dashboard

The folllowing structure will be used:

my-app/
├─ public/                 # Static files (favicon, robots.txt)
│
├─ src/
│  ├─ assets/              # Images, fonts, global CSS
│  ├─ components/          # Reusable UI components
│  │   ├─ ui/              # Buttons, inputs, modals (pure UI)
│  │   └─ common/          # Shared app components
│  │
│  ├─ features/            # Feature-based modules (BEST for scaling)
│  │   ├─ auth/
│  │   │   ├─ components/
│  │   │   ├─ hooks/
│  │   │   ├─ services.js
│  │   │   └─ AuthPage.jsx
│  │   └─ dashboard/
│  │
│  ├─ pages/               # Route-level pages (compose features)
│  │   └─ Home.jsx
│  │
│  ├─ layouts/             # App shells (Navbar, Sidebar layout)
│  │   └─ MainLayout.jsx
│  │
│  ├─ hooks/               # Global reusable hooks
│  ├─ services/            # API layer (axios, fetch wrappers)
│  ├─ utils/               # Pure helper functions
│  ├─ store/               # Zustand/Redux/etc (if needed)
│  ├─ App.jsx              # Routes live here
│  └─ main.jsx             # React entry point
│
├─ index.html              # Vite entry (leave it here)
├─ vite.config.js
└─ package.json

Metadata

Metadata

Assignees

No one assigned

    Labels

    FEFrontend ticket

    Type

    No fields configured for Task.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions