A project initiated on February 4th, designed to be a strong portfolio piece, showcasing expertise in backend development, API design, and full-stack integration.
- Migrate over 350,000 rows of CSV data from the TMDB Movie Dataset (Kaggle).
- Develop a fast, well-structured API for movie data, including movies, cast, crew, ratings, and metadata.
- Build an IMDb-style web app interface to showcase frontend integration.
- Implement a user system that allows actors to link their profiles if they are listed in the database.
- Automate population of API with new movies/actors Daily populate the database with new data so that new movies and actors can be present in the API and Web app and the Dashboard of the web app can be topical.
- Deploy on AWS for scalability and real-world deployment experience.
- 🔹 Implement Machine Learning: Use linear regression to power a recommendation system and enhance the "like" system while learning more about ML applications.
- 🔹 Comprehensive Test Coverage
- 🔹 Expand functionality with additional features (to be determined).
More updates to come! 🚀
A Dockerized Full Stack setup with Django REST Framework (DRF) for the backend and a Vite-based frontend.
🛠️ Version Information
- Docker: 27.4.0
- Python: 3.13.1
- Node.js: 20.17.0
- Django: 4.0 or higher
- Vite: 6.0.11
- Install Docker Desktop.
- Python: Version 3.13.1 or higher (required for the Django backend)
- Node.js: Version 20.17.0 or higher (required for the Vite frontend)
-
Clone the repository: git clone https://github.com/ChimentiMatt/fullstack-docker-template.git cd fullstack-docker-template
-
Create a
.envfile based on.env.example: SECRET_KEY=your-secret-key DB_NAME=postgres DB_USER=postgres DB_PASSWORD=postgres DB_HOST=db DB_PORT=5432
-
Start Docker Desktop and ensure the Docker Engine is running.
-
Start the Docker containers: docker-compose up -d
-
Access the app:
- Frontend: http://localhost:3000/
- Backend API: http://localhost:8000/
- Admin Panel: http://localhost:8000/admin/
-
Apply Migrations: docker-compose exec backend python manage.py migrate
-
Create a Superuser: docker-compose exec backend python manage.py createsuperuser
-
View Backend Logs: docker-compose logs backend
-
View Frontend Logs: docker-compose logs frontend
-
Stop Containers: docker-compose down
- Ensure
.envis not tracked in version control. Use.gitignoreto exclude it. - Use
docker-compose.override.ymlfor local development configurations if needed. - The frontend is built using Vite, and the backend is powered by Django REST Framework.
fullstack-docker-template/
├── backend/ # Django backend (formerly movieproject)
│ ├── backend/ # Django project files
│ ├── manage.py # Django CLI
│ ├── requirements.txt
│ ├── Dockerfile # Backend Docker setup
│ └── ...
├── frontend/ # Frontend (Vite + React or Vue)
│ ├── src/
│ ├── public/
│ ├── package.json
│ ├── Dockerfile # Frontend Docker setup
│ └── ...
├── docker-compose.yml # Docker configuration
├── .env.example # Environment variables template
└── README.md # Project documentation
Created by Matthew Chimenti: ChimentiMatt
docker exec -it backend sh docker exec -it backend python manage.py makemigrations
docker-compose down docker-compose up --build
docker-compose down docker-compose up
docker-compose restart backend
docker-compose logs -f
can get celeb pics from wikipedia https://en.wikipedia.org/w/api.php?action=query&titles=Robin_Williams&prop=pageimages&format=json&pithumbsize=500
response will have source with url