Routing & Modules
Angular routing and lazy-loaded module architecture.
Top-Level Routesโ
| Path | Module | Description |
|---|---|---|
/auth | AuthModule | Login, register |
/pages | PagesModule | Main app shell |
/pages/dashboard | DashboardModule | Dashboard |
/pages/employees | EmployeesModule | Employee management |
/pages/projects | ProjectsModule | Project management |
/pages/tasks | TasksModule | Task management |
/pages/time-tracker | TimeTrackerModule | Time tracking |
/pages/invoices | InvoicesModule | Invoicing |
/pages/expenses | ExpensesModule | Expenses |
/pages/settings | SettingsModule | Organization settings |
Lazy Loadingโ
All feature modules are lazy-loaded:
const routes: Routes = [
{
path: "employees",
loadChildren: () =>
import("./employees/employees.module").then((m) => m.EmployeesModule),
canActivate: [AuthGuard, RoleGuard],
data: { permissions: ["ORG_EMPLOYEES_VIEW"] },
},
];
Route Guardsโ
| Guard | Purpose |
|---|---|
AuthGuard | Requires authenticated user |
RoleGuard | Requires specific role/permission |
OrganizationGuard | Requires active organization |
TenantGuard | Requires active tenant |
Module Patternโ
Each feature module follows:
feature/
โโโ feature.module.ts # Module declaration
โโโ feature-routing.module.ts # Routes
โโโ feature.component.ts # Container component
โโโ components/ # Child components
โโโ services/ # Feature services
โโโ models/ # Feature interfaces