Samuel Nicklaus, Cole Arduser, Colin Hehn
Link to dataset here.
Note that the dataset we used has been heavily modified to meet our needs. For the full data, please refer to the university phpadmin student18 account under the final_project schema
This project is a comprehensive application leveraging Python, Flask, Neo4j, and the Graph Data Science (GDS) library version 4.4.28. It is designed to utilize the powerful features of these technologies, offering a robust backend system with advanced data processing and graph database capabilities.
Before setting up the project, ensure that you have the following prerequisites installed on your system:
-
Python: Ensure you have Python 3.x installed. You can download it from python.org.
-
Neo4j: A highly scalable native graph database, which allows for efficient management and querying of connected data. Download and install Neo4j from neo4j.com.
-
Graph Data Science (GDS) Library 2.5.5: A library for Neo4j, enabling advanced analytics and machine learning on graphs. Ensure that you are using GDS version 2.5.5, compatible with your Neo4j version. Refer to the Neo4j GDS installation guide for detailed instructions.
- See the project directory for 'tjr_neo4j_server.dump'. This is a backup of the Neo4J server we used locally to provide recommendation data for our project.
- See this guide for instructions on how to construct a new DBMS from a dump file. The instructions provided conduct it through the Neo4J Desktop application, but it can also be done through the command line.
- Ensure that the Neo4J DB you created is version 4.4.28, and that the GDS library (version = 2.5.5) is installed and enabled.
- Launch the Neo4J DBMS in the GUI, and ensure it is live before you run the Recommendation Engine application.
-
Create a .env file inside the flask_server directory, and add the following to it:
POSTGRES_HOST=s-l112.engr.uiowa.edu POSTGRES_PASSWORD=finalproject2023 POSTGRES_USER=mdb_student18 NEO4J_URI=bolt://localhost:7687 or whatever you set it to NEO4J_USER=neo4j or whatever you set it to NEO4J_PASSWORD=password or the password you set for the Neo4J DBMS
-
To run the Flask server, navigate to the flask_server directory and run the following command:
.\dist\app.exe
-
The server will be running on localhost:5000. You can now use the client application to interact with the server.
-
If the executable does not work, start a virtual environment and pip install the requirements with the following command:
pip install -r requirements.txt
-
Then run the following command to start the server:
python app.py
-
navigate to the directory:
cd client
-
To install the project dependencies, run the following command:
npm install
-
To start the development server, use the following command:
npm run dev
.idea/
directory containing various configuration files for JetBrains IDEs.
Client/
directory with Vue.js application files:- Configuration files like
.eslintrc.cjs
,.prettierrc.json
, andpackage.json
. - Source code in
Client/src/App.vue
. - Static assets in
Client/src/assets/
. - HTML entry point
Client/index.html
. - Vite configuration in
Client/vite.config.js
.
- Configuration files like
DATASET/
directory with CSV files (Company.csv
,Job.csv
,Review.csv
, etc.) and Python scripts (add_job_id.py
,demo.py
).
flask_server/
directory containing Python files for Flask server (app.py
,neo4j_db.py
,postgres_db.py
) and arequirements.txt
file for dependencies.- Compiled files and build artifacts in
flask_server/build/
.
- Root directory files like
README.md
,dataAvg.py
, and a Neo4j dump filetjr_neo4j_server.dump
.