This is a Permit-Flow take home assignment, bootstrapped with create-next-app
.
Visit the following link to get a walkthrough of the project: Permit-Flow-Loom
First, install the dependencies:
npm install
# or
yarn
Run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
-
NextJS
-
TypeScript
-
MUI
-
tRPC
-
zod
-
ESLINT+PRETTIER
- Can integrate Primsa+SQLite for the DB.
- Can integrate a form handling library like react-hook-form or formik.
.
├── public
├── src
│ ├── app
│ │ ├── components # Shared Components
│ │ │ ├── core
│ │ │ │ └── form
│ │ │ └── Page
│ │ ├── containers # Page Containers
│ │ │ ├── Permit
│ │ │ │ └── Requirements
│ │ │ │ ├── components
│ │ │ │ │ ├── PermitRequirementForm
│ │ │ │ │ ├── PermitRequirementPage
│ │ │ │ │ └── PermitProcess
│ │ │ │ ├── PermitRequirements.tsx
│ │ │ │ ├── usePermitRequirementsState.ts # Custom Hooks for each component to handle business logic
│ │ │ │ └── ...
│ │ └── styles # Global styles
│ ├── pages
│ │ ├── api
│ │ │ └── trpc # tRPC config for NextJS
│ └── server # BE
│ │ ├── routers # Routers from all modules
│ │ │ ├── permit # Permit module specific routers
│ │ │ │ ├── index.ts
│ │ │ │ ├── db.ts # Dummy db
│ │ │ │ ├── permit.route.ts # All Permit Routes/Endpoints
│ │ │ │ ├── types.ts # Permit typings
│ │ │ │ └── utils.ts # Utility functions for Permit module
│ │ │ └── _app.ts # Merge all routers from all modules into one AppRouter
│ │ ├── context.ts
│ │ └── trpc.ts # tRPC setup
└── ...