- Role-based: The application is divided into modules specific to user roles.
- Zoning: Features and components are isolated into dedicated zones for better maintainability.
- Scalability: New roles, components, or services can be added with minimal refactoring.
-
src/app/
- Core of the application, organized by roles.
- _role/: Placeholder for user-specific roles (e.g., admin, user).
- dashboard/: Contains pages and features related to user dashboards.
- layout.tsx: Defines the layout for the role.
-
src/components/
- Reusable UI components for the application.
- Example: ui/button.tsx contains the button component.
-
src/services/
- Centralized services for API handling and business logic.
- dashboard.service.ts: Contains logic for dashboard interactions.
- api.ts: Centralized API configuration.
-
src/lib/
- Utility functions and shared libraries.
-
Root Files
- middleware.ts: Middleware configuration for handling custom logic.
- next.config.js: Next.js configuration.
- tsconfig.json: TypeScript configuration for type checking.
- package.json: Dependencies and scripts for the project.
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.