This is a full-stack application built with React and NestJS. It includes user authentication module.
- Frontend: React with TypeScript and TailwindCSS
- Backend: NestJS with TypeScript
- Database: MongoDB
- Authentication: JWT
- State Management: Redux
- Testing: Jest, Supertest
- Node.js (v18 or later)
- npm (v9 or later) or yarn
- MongoDB (local or cloud instance)
- Git
-
Pull the MongoDB image:
docker pull mongo
-
Run the MongoDB container:
docker run --name my-mongo -p 27017:27017 -v mongo-data:/data/db -d mongo
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install
-
Start the development server:
npm run start:dev
- Full-stack Development: Required pages for signup, signin, and app(protected route)
- API Endpoints: Required api routes for signup, signin, and (protected endpoints)
- Security: JWT-based authentication, password hashing and input validation
- Testing: Backend endpoints tests
- Error Handling: Global filter for error handling
- Logging: Global logger for logging backend process and exceptions
- CI/CD Pipeline: Basic CI/CD pipeline using GitHub Actions
- Documentation: Basic API documentation using Swagger
- Testing Coverage: Expand test coverage for frontend and backend
- Error Handling: More comprehensive error handling and user feedback
- Security: Use refresh tokens and blacklisting for logout
- Authentication: Social authentication and password recovery
This project is licensed under the MIT License.