A full-stack application for movie enthusiasts. Browse, review, and discuss your favorite movies!
This application allows users to browse movies, write reviews, and engage in discussions. It's built with a focus on providing a seamless user experience and efficient performance.
This application uses a variety of technologies in its stack:
- Node.js - JavaScript runtime
- Express.js - Web application framework
- PostgreSQL - Relational database
- Docker - Containerization platform
- Prisma - Next-generation ORM
-
Navigate to the
movie-app
directory:cd movie-app
-
Create a
.env
file in themovie-app
directory with the following variables:SALT= JWT_SECRET= DB_HOST= DB_NAME= DB_USER= DB_PASS= DB_PORT= PORT=
-
Build the Docker images:
docker-compose build
-
Start the Docker containers:
docker-compose up
-
Create a
.env
file in themovie-app/server
directory with the following variables:SALT= JWT_SECRET= DATABASE_URL=
-
Install the server dependencies and start the server:
cd server npm install npx prisma generate npx prisma db seed npm run dev
-
Install the client dependencies and start the client:
cd client npm install npm run build npm run preview
- Node.js: v18 or above
- npm: v10 or above
- Docker: v25 or above
After starting the server and client, you can access the application at http://localhost:5173
.
To run server tests:
cd server
npm run test
For unit tests:
npm run test:unit
For integration tests:
npm run test:integration
To run client tests:
cd client
npm run test
For unit tests:
npm run test:unit
For integration tests:
npm run test:integration
This project is licensed under the MIT License.