Flix256 is a web application designed to provide personalized movie and TV recommendations. It aggregates data from TMDB, offering users current, upcoming, and popular titles alongside a platform to share reviews.
Live Demo: https://flix256.netlify.com
- Backend: Python 3.7 or higher with Flask
- Frontend: Vue.js 3.4 / NuxtJs 3.9
- Database: MongoDB
- Caching: REDIS
- External API: TMDB API
- Deployment: Docker, Docker Hub, Heroku
- Testing: Jest for Vue.js, Unit Testing for Flask
- Version Control: Git
To set up Flix256 on your local machine, follow these steps:
- Clone the repository:
git clone <repository-url>
- Install backend dependencies:
python install -r requirements.txt
- Install frontend dependencies:
cd frontend npm install
- Start the MongoDB service on your machine.
- Run the Redis server.
- Configure environment variables for connecting to the database and external services.
- Run the backend development server:
python app.py
- Run the frontend development server (in a seperate terminal):
npm run serve
We use Jest for frontend testing and a combination of unittest and pytest for backend testing. To run tests, use:
npm run test
python -m unittest discover
Flix256 is containerized using Docker. For deployment instructions, please refer to the deployment directory.
This project is licensed under the MIT License - see the LICENSE file for details.
- TMDB for providing the movie and TV data.
- ALX and Holberton School for the inspiration.