Amar Boi is an online bookshop API developed using Django Rest Framework (DRF). It integrates user management, JWT for secure authentication, and django_filters for advanced filtering capabilities. Utilizing nested routers, it organizes various endpoints for seamless navigation. The API supports comprehensive models, including Category, Author, Publication, Book, Order, OrderItem, Customer, Review, Cart, and CartItem. This setup ensures a robust and scalable system, facilitating efficient management of books, orders, and customer interactions, delivering a streamlined and engaging user experience.
- User management
- JWT for secure authentication
- Advanced filtering with django_filters
- Nested routers for organized endpoints
- Comprehensive models for a full-fledged online bookshop
- Django (4.2, 5.0)
- Python (3.8, 3.9, 3.10, 3.11, 3.12)
git clone https://github.com/anmabrar/amar_boi.git
cd amar_boiIf you don't have pipenv installed, you can install it using pip:
pip install pipenvUse pipenv to install the required dependencies:
pipenv installActivate the virtual environment created by pipenv:
pipenv shellRun the following command to apply database migrations:
python manage.py migrateCreate a superuser to access the Django admin interface:
python manage.py createsuperuserFollow the prompts to set up the superuser credentials.
Start the Django development server:
python manage.py runserver- Access the admin interface at http://127.0.0.1:8000/admin/ using the superuser credentials.
- Create users, projects, and tasks through the admin interface or implement the frontend as needed.
If you want to contribute to this project, please fork the repository and submit a pull request. We welcome all improvements, whether they are code improvements, bug fixes, or documentation enhancements.
http://127.0.0.1:8000/swagger/http://127.0.0.1:8000/redoc/
- Database Configuration: If you need to use a different database (other than SQLite), make sure to update the
DATABASESsetting in thesettings.pyfile. - Static Files: If you are serving static files, ensure you have set up the static files directory and collected static files using:
python manage.py collectstatic
- rest_framework
- rest_framework_simplejwt
- drf-nested-routers
- django_filters
- drf_yasg
- debug_toolbar
