This is a full-stack application that allows users to add, search, and keep track of movies they want to watch. It utilizes React for the frontend, Express.js for the backend, and PostgreSQL for the database. It also integrates with The Movie Database (TMDb) API to fetch movie details.
- React
- Node.js
- Express.js
- PostgreSQL
- Knex.js
- Tailwind CSS
- The Movie Database (TMDb) API
- Docker (for containerization)
- Install Docker and Docker Compose.
- Clone the repository.
- Navigate to the root directory.
- Make
docker-startup.sh
executable:chmod +x docker-startup.sh
. - Run the startup script:
./docker-startup.sh
. - Script will run the backend and frontend containers and set up the database. It will also clean up images after the script is interrupted. with
Ctrl+C
. - Access the application at
http://localhost:3000
.
- Navigate to the
server
directory. - Install dependencies:
npm install
. - Set up the PostgreSQL database and update
knexfile.js
with the correct credentials. - Run database migrations:
npx knex migrate:latest
. - Start the server:
npm start
.
- Navigate to the
client
directory. - Install dependencies:
npm install
. - Start the React development server:
npm start
.
- Level 0-4: Complete
- Users can add movies, mark them as watched, and filter the movie list.
- Level 5: In Progress
- A panel for displaying movie details is implemented.
- TMDb integration is set up to fetch movie details when adding a new movie.
- Finalize the movie information panel to ensure it displays correct movie details.
- Enhance error handling for TMDb API integration.
- Improve the styling of the application, taking inspiration from Jellyseerr's UI for a modern and user-friendly design.
- Implement dark mode toggle functionality.
- Error handling for TMDb API requests needs improvement.
- Styling is not yet finalized.