conda create -n database_exam python=3.10.11 -y
conda activate database_exam
pip install -r requirements.txt
- Navigate to /server
- Run the server:
uvicorn main:app --reload
- Server URL:
http://127.0.0.1:8000
- Swagger API Documentation:
http://127.0.0.1:8000/docs
- Navigate to /client
- Install dependencies:
npm install
- Run the client:
npm start
- Create a .env file in the root of /server with the following:
- Create database 'BockBluster'
- Run query: queries/SQL/create_table.sql
- In Postman run the request on POST: http://localhost:8000/populatesql
- Create DB 'BockBluster' with password 12345678 on version 5.3.0
- Install plugins: APOC, Graph Data Science Library, Neosemantics(n10s)
- In Postman run the request on POST: http://localhost:8000/populategraph
- In Postman run the request on POST: http://localhost:8000/nodesimilarity
We have developed an application that offers the capability to rent movies. This site provides a collection of 1000 movies, allowing users to browse, search, and access detailed information about each film. Additionally, registered users can log in and proceed to rent a movie of their choice.
The application's backend is implemented in Python, utilizing the fastAPI framework, while the frontend is developed using React. To ensure efficient functionality, we have integrated three databases: MSSQL, Neo4j, and Redis.
Our MSSQL database is primarily responsible for managing user accounts, movie loans, and orders. On the other hand, our Neo4j database houses our comprehensive movie catalog, encompassing relevant details such as actors, directors, genres, and more.
To enhance user experience and streamline the renting process, we have employed the Redis database to handle the cart feature on our website. Whenever a user wishes to rent a movie, the Redis database effectively manages their selection within the cart system.