A simple and efficient system to manage students, courses, faculties, and departments. Supports CRUD operations, authentication, and role-based access control. Designed for scalability and easy integration.
-
Student Management: Add, update, view, and delete student records.
-
Course Management: Manage course details and enrollments.
-
Faculty Management: Handle faculty profiles and assignments.
-
Department Management: Organize departments and associated data.
-
Authentication: Secure login system with JWT-based authentication.
-
Role-Based Access Control: Assign roles and permissions to users.
-
API Documentation: Integrated Swagger UI for API exploration.
-
Monitoring: Prometheus metrics and Grafana dashboards for system monitoring
-
Backend: Go (Golang) with Gin framework
-
Database: PostgreSQL
-
Authentication: JWT (JSON Web Tokens)
-
API Documentation: Swagger UI
-
Monitoring: Prometheus and Grafana
-
Containerization: Docker and Docker Compose
-
CI/CD: GitHub Actions
api/
- API route definitions
controllers/
- Request handlers and business logic
model/
- Database models and schemas
store/
- Database interactions and queries
middleware/
- Custom middleware functions
utils/
- Utility functions and helpers
deployment/
- Deployment configurations
docs/
- API documentation and related files
-
Go installed on your machine
-
Docker and Docker Compose installed
-
PostgreSQL database setup (Use Postgres Docker Image)
- Clone the repository:
git clone https://github.com/yashisrani/College-Management.git
cd College-Management
go run cmd/main.go
- Set up environment variables:
- Create a .env file in the root directory and configure the necessary environment variables as per your setup.
- Run the application using Docker Compose:
docker-compose up --build
- Access the application:
-
API endpoints will be available at
http://localhost:8080/api
-
Swagger UI can be accessed at
http://localhost:8080/swagger/index.html
-
Grafana dashboards (if configured) will be available at
http://localhost:3000





