This repository contains the codebase for a Faculty Management System designed using a microservice architecture. Each system module is developed as an independent service, and Docker is used to containerize the application.
- Introduction
- Features
- Technologies Used
- Microservice Architecture
- Directory Structure
- Setup
- Usage
- Contributing
- License
- Contact
The Faculty Management System is a comprehensive solution for managing faculty-related activities. It simplifies the process of administration, course management, student enrollment, and teacher assignments through a microservice architecture.
- Admin Module: Manage administrative tasks and settings.
- Course Module: Handle course creation, updates, and deletion.
- Enrollment Module: Manage student enrollments in various courses.
- Student Module: Maintain student records and information.
- Teacher Module: Manage teacher information and assignments.
-
Backend: Spring boot
-
Database: Mongo DB
-
Containerization: Docker
-
Microservices: Independent services for Admin, Course, Enrollment, Student, and Teacher modules
The Faculty Management System is developed using a microservice architecture. Each module is an independent service, allowing for better scalability and maintainability.
- Admin Service: Manages administrative tasks.
- Course Service: Handles operations related to courses.
- Enrollment Service: Manages student enrollments.
- Student Service: Maintains student records.
- Teacher Service: Manages teacher information and assignments.
facultyR3/
├── .vscode/
├── .idea/
├── Admin/
├── Course/
├── Enrollment/
├── Student/
├── Teacher/
├── docker-compose.yml
└── .project
- Admin/: Contains the code related to the administration service.
- Course/: Contains the code related to the course management service.
- Enrollment/: Contains the code related to the enrollment service.
- Student/: Contains the code related to the student service.
- Teacher/: Contains the code related to the teacher service.
- docker-compose.yml: Docker configuration file for containerizing the microservices.
- .vscode/ and .idea/: Configuration files for development environments.
To set up the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/EsraaShaabanElsayed/faculty.git
- Navigate to the project directory:
cd faculty
- Set up the necessary environment variables and configurations.
- Build and run the Docker containers:
docker-compose up --build