This app has been deployed to Vercel cloud platform using CI/CD with GitHub Actions. The project has development/preview and production workflow.
We use the Different Pages / Navigation Layout option.
Dev setup
npm install
npm run dev
Tech Stack:
- Typescript.
- Next js (with App Router).
- Tailwind css.
- Downshift for combobox implementation.
- Cypress & React Testing Library for e2e testing.
- Postgres Database / Railway.com
- Prisma as ORM
- GitHub actions for CI/CD.
- Vercel for hosting preview / production deployment. Middlware edge functions and serverless apis.
The main goal of this proyect is not only implement the requested features, but also provide a real workflow for softwate development and a solid architecture that will scale for real.
This is the way (🎖) I like to work getting deep confidence through testing strategies. Static analysis & type safety with Typescript, besides intellisense provides autocompletion.
Some patterns like custom hooks and polymorphic components with Ts where implemented to demo strategies to solve common problems in larger codebases.
Besides applying the requirements expressed in the document, I took this project as an opportunity to extend my knowlede of Next js and it's newish App Router and explore all the capabilities that this new framework design exposes to developers. So, some other features came out through the development process.
- Authentication thorugh jwt stored in cookies.
- Middelware functions
- API's serverless.
- Sign In / Register forms.
- e2e testing with cypress.
- Form validation with zod.
Cheers!