This is the task of Young Innovations Internship for Backend development. I have decided to do the project in Nextjs to tightly integrate both the frontend and backend in a single repository.
Check it out here: Link
- CRUD for an event management web app
- Filtering API
- Login System
- Frontend and Backend data validation
In order to run the project, you need to have node installed on your machine.
- Clone the repository
git clone
- Install all the dependencies
npm install
- Copy over the environment variables
cp .env.example .env
- Run the development server
npm run dev
The project structure is of a simple Next 14 project.
- All the frontend and api routes are in the app directory.
- Components hold resuable components
- Context holds all the context providers
- Hooks holds all the client side reusuable hooks
- Sections hold all the page layouts
- Types hold all the necessary data types and backend schemas
- Utils hold some utilary functions
I have written some tests for testing the backend using Jest. Individual tests are put in their respective api route folder. To run the tests simply run
npm run test