Brainy Bee is a virtual collaboration app designed for organizations to facilitate interactive quizzes among participants. This README provides an overview of the project's functionalities, technology stack, future implementations, and current working items/features.
- User SignIn/ SignUp: User can sign in with oragnization ID
- Admin Dashboard: Admin can create, update, and manage quizzes.
- Quiz Creation: Admin can add questions and options for the quiz.
- Room Creation: Admin can initiate a quiz by creating a room for participants.
- Participant Invitation: Admin can invite participants via email to join the quiz.
- Score Tracking: During the quiz, scores are updated in real-time on a leaderboard.
- Security: User authentication is ensured using Spring Boot and SQL.
- Scalability: Microservices architecture ensures scalability and modularity.
- Real-time Updates: Scores are updated promptly using Redis for leaderboard microservice.
- Reliability: Dockerization of microservices ensures easy deployment and management.
- Tech Stack: Spring Boot, SQL
- Tech Stack: MERN (MongoDB, Express.js, React.js, Node.js)
- Tech Stack: Flask, RabbitMQ
- Tech Stack: MERN (MongoDB, Express.js, React.js, Node.js), Redis
- API Gateway Configuration: Nginx is configured as an API gateway for all microservices.
- Automated Question Generation: Implement machine learning models to generate quiz questions based on given topics.
- UI Development: Create a user-friendly interface for seamless interaction.
- Team Quizzes: Allow teams to compete against each other, fostering collaboration and group problem-solving.
The architecture follows a microservices-based approach where each component is deployed as an independent service. Services communicate through APIs, ensuring loose coupling and scalability.
To get started with the project, follow these steps:
- Clone the repository.
- Navigate to the project directory.
- Configure .env files
- Run
docker-compose up --build
to start the servers.
Ensure Docker and Docker Compose are installed on your system for seamless deployment.