ื“ืœื’ ืœืชื•ื›ืŸ ื”ืจืืฉื™

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โ€‹

TypeDescriptionExample
CoreSingleton services, guardsCoreModule
SharedReusable components, pipesSharedModule
FeatureLazy-loaded page modulesTasksModule
LayoutLayout 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),
},
];