Git Product home page Git Product logo

digilib-backend's Introduction

Digilib - Library Management System

Digilib is a library management system built as a mini-project for our college. It provides a user-friendly interface for students, faculty, and library staff to manage library resources efficiently. This repository contains the backend code for Digilib, built using FastAPI, MongoDB, and integrates with Cloudinary for storing book images.

Features

  • User Authentication: Digilib has three main user roles - Admin, Issuer, and User (students and faculty). Each user can register and login to access their specific functionalities.

  • Book Reservation: Users can reserve a book in advance, even if it is currently out of stock. The system maintains a priority queue for each reserved book, and when the book becomes available, it is automatically issued to the top priority user in the queue.

  • Admin Privileges: Admin users have special privileges, such as managing books, users, and issuers. They can add new books, update book details, view book borrowing history, and perform other administrative tasks.

  • Book Management: Users can search for books, view book details, and check their availability status.

  • User Profile: Users can view and update their profiles, including personal information and borrowing history.

Tech Stack

  • FastAPI: FastAPI is used to develop the backend of Digilib, providing a high-performance web framework with automatic validation, serialization, and OpenAPI support.

  • MongoDB: MongoDB is used as the database to store user information, book details, reservations, and other relevant data.

  • Cloudinary: Digilib integrates with Cloudinary for storing and managing book images securely in the cloud.

Installation

  1. Clone this repository to your local machine.
git clone https://github.com/anandukch/DigiLib-backend.git
cd DigiLib-backend
  1. Create a virtual environment and activate it.
python3 -m venv venv
source venv/bin/activate
  1. Install the dependencies.
poetry install
  1. Create a .env file in the root directory and add the following environment variables.
MONGO_URL=<MongoDB connection URI>
  1. Run the server.
./run.sh
  1. Run using Docker.
docker-compose up

Acknowledgements

digilib-backend's People

Contributors

anandukch avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.