Skip to content

A movie rental application developed using fastAPI and React, integrating MSSQL for user management, Neo4j for movie catalog, and Redis for cart functionality. Offers browsing, searching, and detailed movie information.

Notifications You must be signed in to change notification settings

Dare-Share-Care/DatabaseExam

Repository files navigation

Dependencies

conda create -n database_exam python=3.10.11 -y
conda activate database_exam
pip install -r requirements.txt

Usage

Server:

  1. Navigate to /server
  2. Run the server: uvicorn main:app --reload
  3. Server URL: http://127.0.0.1:8000
  4. Swagger API Documentation: http://127.0.0.1:8000/docs

Client:

  1. Navigate to /client
  2. Install dependencies: npm install
  3. Run the client: npm start

Populate the database(s):

.env file

  1. Create a .env file in the root of /server with the following:
env

SQL

  1. Create database 'BockBluster'
  2. Run query: queries/SQL/create_table.sql
  3. In Postman run the request on POST: http://localhost:8000/populatesql

Neo4j

  1. Create DB 'BockBluster' with password 12345678 on version 5.3.0
  2. Install plugins: APOC, Graph Data Science Library, Neosemantics(n10s)
  3. In Postman run the request on POST: http://localhost:8000/populategraph
  4. In Postman run the request on POST: http://localhost:8000/nodesimilarity

Project solution

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.

Schemas

Neo4j

neo4j

MSSQL

DBDiagram

MSSQL

About

A movie rental application developed using fastAPI and React, integrating MSSQL for user management, Neo4j for movie catalog, and Redis for cart functionality. Offers browsing, searching, and detailed movie information.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages