Skip to content

The jntuh-backend is a FastAPI-based service that provides JNTUH students access to semester results, academic records, and backlog details. It integrates with PostgreSQL, Redis, and RabbitMQ for efficient data handling and messaging.

License

Notifications You must be signed in to change notification settings

ThilakReddyy/jntuh-backend

Repository files navigation

JNTUH Results BACKEND

License GitHub code size in bytes Website

This FastAPI-based service provides access to student results, academic records, and backlog details. It integrates with PostgreSQL, Redis, and RabbitMQ for efficient data handling and messaging.

FastAPI Postgres Redis RabbitMQ Docker AWS Cloudflare Prometheus Grafana

Features

Fetch all results for a student
Retrieve academic records based on student ID
Check backlogs (pending subjects)
Uses Redis caching for optimized performance
RabbitMQ integration for event-driven messaging
Docker support for easy deployment

Tech Stack

  • Backend: FastAPI (Python)
  • Database: PostgreSQL
  • Caching: Redis
  • Messaging Queue: RabbitMQ
  • Containerization: Docker
  • Monitoring: Prometheus, Grafana

🏗 System Architecture

The following diagrams illustrate the components and overall architecture of the FastAPI-based results service.

Component Diagram

This diagram shows how different services interact in the system.

Component Diagram

Architecture Diagram

This diagram outlines the flow of requests and data within the system.

Architecture Diagram

Installation & Setup

  1. Prerequisites:

    Ensure you have Docker and Docker Compose installed.

  2. Clone the repository:

    git clone https://github.com/thilakreddyy/jntuh-backend.git
  3. Navigate to the project directory:

    cd jntuh-backend
  4. Build and start the Docker containers:

    docker-compose up --build

    This command will build the Docker images and start the services defined in the docker-compose.yml file.

Usage

Once the application is running, access the API documentation at http://localhost:8000/docs. This interactive documentation provides details about each endpoint and allows you to test them directly.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add YourFeature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

License

This project is licensed under the GPL-3.0 .

Acknowledgements

Special thanks to all contributors and the open-source community for their invaluable support.

About

The jntuh-backend is a FastAPI-based service that provides JNTUH students access to semester results, academic records, and backlog details. It integrates with PostgreSQL, Redis, and RabbitMQ for efficient data handling and messaging.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages