A mono-repo written in the following tools:
- TypeScript
- MongoDB
- ExpressJS
- Nextjs
- React
- ChakraUI
- Jest
- Yarn workspaces
Project structure inspired by Onion Architecture
UI
-> routes
-> controllers
/middlewares
-> services
-> models
-> database
- Create a MongoDB account here if you dont' have one already
- Clone this project
- Install dependencies buy running
yarn
- In
packages/server
folder, create.env
file with following key value:
DB_URL=mongodb-server
SECRET=secret-key
INVITE_KEY=123456
APPHOST=http://localhost:3000
DB_URL
is your MongoDB serverSECRET
is the secret key to generate a tokenINVITE_KEY
is a six digit alphanumerc code used in validating user registrationAPPHOST
is the url assigned by Nextjs running the client
- In
packages/client
folder, create.env.local
file with the following key value:
NEXT_PUBLIC_API=http://localhost:3030/api/
NEXT_PUBLIC_API
is the url for the API located inpackages/server
- Run dev server:
yarn dev
- Forgot password feature
- Other tests