An open API service indexing awesome lists of open source software.

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.

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

Screen Shot 2025-05-01 at 12 57 43 PM
Screen Shot 2025-05-01 at 12 57 49 PM
Screen Shot 2025-05-01 at 12 57 59 PM

Screen Shot 2025-03-15 at 10 22 04 PM

Screen Shot 2025-03-16 at 2 24 48 PM
Screen Shot 2025-03-15 at 10 18 48 PM