This project was our product for the NTNU subject IT2810 (Web Development).
Movi.com is a movie-database website where users can browse more than 260 000 movies. Users can create an account, browse movies by searching, sorting or filtering, make custom libraries and add movies to them. The complete feature list can be found on our detailed wiki page. A guide on how to run the project can be found underneath the pictures of the website.
-
Prerequisites:
-
Installation:
- Clone the repo:
git clone https://github.com/Jensern1/Movi.com.git
- Navigate to the project directory:
cd Movi.com/
- Install dependencies:
npm run setup
- Install dependencies (Docker version):
docker-compose build
All following commands should be run from the outer folder (not inside frontend or backend)
-
Starting the Project:
- Run server:
npm run server
- Run client:
npm run dev
- Run server and client with Docker:
docker-compose up
-
Testing:
- Run backend-tests:
npm run test:backend
- Run frontend-tests:
npm run test:frontend
- Run Cypress:
npx cypress open
then choose E2E testing, then choose Electron. You need to be on the NTNU network or connected to it via a VPN (Cisco AnyConnect) to conduct the Cypress tests.
-
Code formatting:
- Run both linting (ESLint) and Prettier:
npm run lint:fix
- Run only linting:
npm run lint
Note: If you want to test the project on mobile while running it locally, you need to navigate into interfaces.ts and modify the SERVER_URL to "http://" followed by the IP-address displayed after the "Network:"-text in the terminal and then append ":4000" at the end. Example: If the terminal contains: "Network: http://192.168.0.105:5173/", the SERVER_URL should be "http://192.168.0.105:4000".
Daniel Neukirch Hansen |
Jens Martin Norheim Berget |
Bjørn Melaaen |