https://github.com/yashisrani/college-management
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.
https://github.com/yashisrani/college-management
fresh gin-framework githubactions go-api golang grafana-dashboard jwt-authentication logres postgres prometheus-metrics swagger-ui
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/yashisrani/college-management
- Owner: yashisrani
- Created: 2025-01-19T16:51:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-05-01T07:41:48.000Z (7 months ago)
- Last Synced: 2025-05-01T08:30:46.600Z (7 months ago)
- Topics: fresh, gin-framework, githubactions, go-api, golang, grafana-dashboard, jwt-authentication, logres, postgres, prometheus-metrics, swagger-ui
- Language: Go
- Homepage:
- Size: 32.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# College Management System
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.โ
## Features ๐ช๐
- **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
## Technologies Used ๐จ๐ปโ๐ป
- **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โ
## Folder Structure
`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
## Getting Started
### Prerequisites
- Go installed on your machine
- Docker and Docker Compose installed
- PostgreSQL database setupโ (Use Postgres Docker Image)
#### Installation
1) Clone the repository:
```
git clone https://github.com/yashisrani/College-Management.git
cd College-Management
go run cmd/main.go
```
2) Set up environment variables:
- Create a .env file in the root directory and configure the necessary environment variables as per your setup.
3) Run the application using Docker Compose:
```
docker-compose up --build
```
4) 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โ`
## ScreenShots

