FlixFlex is a movie and series tracking application that allows users to discover, view details, and manage their favorite movies and series.
- Prerequisites
- Installation
- Configuration
- Usage
- API Endpoints
- Testing
- Swagger Documentation
- Contributing
- License
Before you begin, ensure you have the following installed:
- Clone the repository:
git clone https://github.com/oussamabouchikhi/flixflex.git
- Install dependencies:
cd flixflex
pnpm install
- Rename the
example.env.development
file to.env.development
and modify the environment variables:Note: you need to create a MongoDB atlas and create an account TMDB website
MONGODB_URI=YOUR_MONGODB_URI
JWT_SECRET=YOUR_JWT_SECRET
ENCRYPT_JWT_SECRET=YOUR_JWT_ENCRIPTING_PASS
JWT_EXPIRATION=30m
TMDB_API_KEY=YOUR_TMDB_API_KEY
TMDB_READ_ACCESS_TOKEN=YOUR_TMDB_READ_ACCESS_TOKEN
The base endpont is
To use authentication features, you need to register and login. Use the following API endpoints:
POST /auth/register: Register a new user. POST /auth/login: Login with a registered user.
Explore and manage movies and series with the following API endpoints:
GET /movies: Get a list of all movies.
GET /movies/top: Get the top movies.
GET /movies/:id: Get details of a specific movie.
POST /movies/search: Search for movies.
POST /movies/add-to-favorites/:id: Add a movie to your favorites.
DELETE /movies/remove-from-favorites/:id: Remove a movie from your favorites.
GET /movies/favorites: Get your list of favorite movies.
For a complete list of API endpoints and their descriptions, refer to the Swagger Documentation.
Run the tests using:
pnpm run test
Access Swagger documentation to explore and test API endpoints:
pnpm run start:dev
Feel free to contribute to the development of FlixFlex. Please follow the Contribution Guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.