The goal of this project is to implement an online management system for book borrowing. This system will streamline the library's administrative processes and greatly improve the user experience.
- Web-based
- Manage books inventory
- Manage books borrowing
- Manage customers
- Display notifications
- Handle payments
- 5 concurrent users
- Up to 1000 books
- 50k borrowings/year
- ~30MB/year
-
Python3 must be already installed.
git clone https://github.com/lgSilay/library-service-project.git cd library-service-project python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt #create .env file based on env.sample python manage.py makemigrations python manage.py migrate
-
Load prepared data:
python3 manage.py loaddata library_serice_data.json
-
After loading, by default, you will have these users:
- Admin user:
user1@email.com
- Default users:
user2@email.com
user3@email.com
user4@email.com
user5@email.com
- Admin user:
- Password for any of them: GGduIU@
Docker should be installed.
docker-compose up --build
You can now access the API by opening your web browser and navigating to http://localhost:8000.
-
api/books/books/
-
api/books/books//
-
api/books/books//upload-image/
-
api/books/books/?title=...&author-id=...&author-first-name...&author-last-name=...&available&unavailable
-
api/books/authors/
-
api/books/authors//
-
api/books/authors//upload-image/
-
api/books/authors//subscribe
-
api/books/authors/?books-count=...&books-gt=...&books-lt=...&first-name=...&last-name=...&no-books&has-books
- api/user/register/
- api/user/token/
- api/user/token/refresh/
- api/user/token/verify/
- api/user/me/
- api/user/telegram
- api/borrowing_service/borrowings/
- api/borrowing_service/borrowings/?user_id=...&is_active=...
- api/borrowing_service/borrowings//
- api/borrowing_service/borrowings//return
- api/payments/payments/
- api/payments/payments//
- api/payments/payments//renew/
- api/payments/payments/success/
- api/payments/payments/cancel/
- api/doc/swagger/
- api/doc/redoc/