This project is a Django-based web application that provides an API for managing music album data, specifically focusing on the Beatles. It includes models for albums, songs, songwriters, and singers.
To set up the project on your local machine, follow these steps:
- Clone the Repository:
git clone https://github.com/ms8909/media_company.git
cd media_company
- Create and Activate a Virtual Environment (optional but recommended): For Unix or MacOS:
python3 -m venv venv
source venv/bin/activate
- Install Required Packages:
pip install -r requirements.txt
- Run the Django Development Server:
python manage.py runserver
After running the application, you can access the API documentation at: http://127.0.0.1:8000/beatles/swagger/
This documentation is provided by Swagger, and you can log in using the credentials (username: evident
, password: dev_interview
) to interact with the APIs.
The Django admin panel is accessible at: http://127.0.0.1:8000/admin
Login credentials for the admin panel are:
- Username:
admin
- Password:
admin
The system consists of a single backend service named beatles
. This service is responsible for all backend logic, data handling, and API endpoints. It's built using Django and Django Rest Framework, and it follows RESTful principles for API design.
This application uses a PostgreSQL database service hosted by Vercel. The database is located in a Washington server.
- The read and write operations to this PostgreSQL database might be slower than usual, which can affect the response times of the APIs. This latency is due to the geographical location and performance characteristics of the cloud-hosted database service.
Please take this into consideration when using the APIs, as there might be a noticeable delay in responses.