A modern, full-stack application featuring a robust authentication system and a quiz management module. Built with the MEAN stack (MongoDB, Express, Angular, Node.js).
- Authentication System:
- User Registration and Login.
- Secure password hashing using
bcrypt. - Session-based authentication with
express-sessionand MongoDB store. - Input validation using
express-validator.
- Quiz Management:
- Create, Read, Update, and Delete (CRUD) quiz items.
- Interactive frontend built with Angular.
- Modern UI:
- Responsive design using Bootstrap 5.
- Dynamic components and real-time validation.
- Frontend: Angular, TypeScript, Bootstrap 5, RxJS.
- Backend: Node.js, Express.js.
- Database: MongoDB with Mongoose.
- Session Management: express-session, connect-mongo.
- Dev Tools: Concurrently, Nodemon.
├── backend/ # Express.js server, models, and routes
├── frontend/ # Angular application
├── package.json # Root config for Monorepo deployment
└── .gitignore # Git exclusion rules
-
Clone the repository:
git clone https://github.com/Michiczi/inf04_quizz.git cd inf04_quizz -
Install dependencies: This will install dependencies for the root, backend, and frontend projects via a
postinstallhook.npm install
-
Configure Environment Variables: Create a
.envfile in thebackend/directory with:MONGO_URI=your_mongodb_connection_string SESSION_SECRET=your_secret_key PORT=5000
-
Run in Development: Starts both the backend and frontend development servers simultaneously.
npm start
-
Run in Production (after building frontend): Builds the frontend and then starts the backend server.
npm run start:prod
You can check out this project on Render.com
This project is licensed under the ISC License.