A platform designed to connect students with mentors, facilitating skill development, project support, and guidance through structured mentorship. The system is tailored to meet the needs of three key user roles: Students, Mentors, and Admins, each with specific functions to ensure a seamless mentoring experience.
-
Students: Students can manage their project groups, assign mentors to their projects based on required skills, and view their profile and performance points. MBS allows students to search for mentors with specific expertise, book mentorship sessions, and get valuable guidance for their projects.
-
Mentors: Mentors can showcase their skills and certifications, set and manage their schedules, and verify bookings from students. MBS also allows mentors to verify and manage group requests, providing a streamlined way to engage with students on specific project needs.
-
Admins: Administrators oversee the system, configuring points awarded to students, managing and approving mentors, and monitoring the feedback from student-mentor interactions. This role ensures the quality and effectiveness of mentorship sessions and maintains the overall integrity of the system.
- CQRS Pattern: Separates read and write operations, with MongoDB dedicated to reads and MSSQL Server to writes.
- Repository Pattern: Provides abstraction for reusable and testable data access.
- Outbox Pattern: Ensures reliable event handling by persisting events before processing.
- Idempotent Pattern: Manages duplicate events to prevent redundant actions, ensuring message consistency.
- ASP.NET Core 8, EF Core, MediatR, RabbitMQ, MassTransit.
- ReactJS, TypeScript, Tailwind CSS, Next.js
- Java for Android
- Docker for containerization, enabling consistent deployment across environments.
- GitHub Workflow and GitHub Runner for a streamlined CI/CD pipeline, automating the build and deployment process.
- Nginx for domain management and port forwarding.
- YARP Reverse Proxy for efficient request forwarding to specific backend services, enhancing load management.
- MSSQL Server: Ensures data consistency and adheres to ACID principles for transactional integrity.
- MongoDB: Optimized for fast read-heavy queries.
- Redis: Used for caching frequently accessed data and token management, improving response times.
- Clean Architecture: Modular and maintainable, facilitating easy scalability and testing.
This system architecture and tech stack ensure that the Mentor Booking System (MBS) is scalable, efficient, and maintains a high-quality user experience across all roles.
- Admin Web Repository: MBS-WEB_APP
- Mobile Repository: MBS-MOBILE_APP
- Command Repository: MBS-COMMAND
- Query Repository: MBS-QUERY
- Authorization Repository: MBS-AUTHORIZATION
- Reverse Proxy Repository: MBS-REVERSE_PROXY
- MBS Library Repository: MBS-CONTRACT
We would like to extend our heartfelt thanks to all the members who contributed to the Mentor Booking System (MBS) project. Your hard work and dedication have been invaluable in bringing this project to life!
Name | GitHub Username | Role |
---|---|---|
Tran Dinh Thien Tan | bentran1vn | Project Lead, FullStack Developer |
Pham Phuc Nghi | PhucNghi176 | Backend Develper |
Do Tran Lam | lama-try-code | Mobile Developer |
Do Thanh Son | doson2002 | Mobile Developer |
We truly appreciate all your contributions and hard work in making this project successful!