Angular Module Architecture
Understanding the Angular frontend module organization.
Overviewβ
The Gauzy frontend is built with Angular, organized into lazy-loaded feature modules:
Module Typesβ
| Type | Description | Example |
|---|---|---|
| Core | Singleton services, guards | CoreModule |
| Shared | Reusable components, pipes | SharedModule |
| Feature | Lazy-loaded page modules | TasksModule |
| Layout | Layout components (sidebar, nav) | LayoutModule |
Core Moduleβ
Provides application-wide singletons:
- Authentication service
- HTTP interceptors
- Route guards
- Error handling service
- Store services
@NgModule({
providers: [AuthService, AuthGuard, ServerConnectionService, Store],
})
export class CoreModule {}
Shared Moduleβ
Reusable components used across feature modules:
- Date pickers
- Data tables
- Form controls
- Modal dialogs
- Status badges
- User avatar components
Feature Modulesβ
Each feature is a lazy-loaded module:
// app-routing.module.ts
const routes: Routes = [
{
path: "tasks",
loadChildren: () =>
import("./tasks/tasks.module").then((m) => m.TasksModule),
},
{
path: "employees",
loadChildren: () =>
import("./employees/employees.module").then((m) => m.EmployeesModule),
},
];
Related Pagesβ
- Frontend Architecture β overview
- UI Components β component library
- State Management β state patterns