BookTracker is a RESTful API project built with Django REST Framework (DRF). It allows users to organize their book collections into categorized reading lists. The application is designed to track books you plan to read, are currently reading, or have already finished.
- User Authentication: User registration and login.
- Book Management:
- Add books with details like title, author(s), and description.
- Manage your book lists.
- search for books using Elasticsearch
- Categorized Lists:
- Create your book lists
- API Endpoints:
- Create, update, and delete books.
- Add books to categorized lists.
- View and manage your reading lists.
- Python 3
- PostgreSQL
- uv
-
Clone the repository:
git clone https://github.com/kyoredes/Booktracker/ cd booktracker
-
Create a virtual environment and activate it:
uv init
-
Install dependencies:
uv sync
-
Configure the database in the
.env
file:DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/DBNAME
-
Apply migrations:
make migrate
-
Run the development server:
make dev
The API will be available at http://127.0.0.1:8000/
.
Run tests to ensure the project is functioning correctly:
make test
Show all urls:
make urls