Book Giveaway Service API allows registered users to offer books for free and claim books offered by others. Non-registered users can view the list of available books. This repository includes user registration, book management, supporting resources, and more.
- User Authentication: Simple registration using just an email.
- Books Management:
- CRUD operations on books.
- Filter books based on author, genre, etc.
- Supporting Resources: Manage authors, genres, book condition, images...
- Book Retrieval Information: Offers clarity on where to retrieve the selected book.
- Ownership Decision: Owners can choose the book recipient if multiple people are interested.
- Backend Framework: Django
- Database: PostgreSQL
- RESTful API
- Version Control: Git
- API Documentation: Swagger
- Containerization: Docker & Docker Compose
-
Clone this repository
git clone https://github.com/qildeli/book_giveaway_service.git
-
Navigate into the repository's directory
cd book_giveaway_service
-
Create a virtual environment (optional)
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies
pip install -r requirements.txt
-
Configure Database
Make sure to have PostgreSQL running and configure your database settings in
settings.py
. -
Run migrations
python manage.py makemigrations python manage.py migrate
-
Run the Server
python manage.py runserver
Visit http://localhost:8000/ to access the API.
-
Clone this repository
git clone https://github.com/qildeli/book_giveaway_service.git
-
Navigate into the repository's directory
cd book_giveaway_service
-
Build and Run Containers
docker-compose build docker-compose up
Visit http://localhost:8000/ to access the API.
Access the API documentation at http://localhost:8000/swagger.