Backlog Manager is a web application designed to help users track, manage, and rank games in their library and backlog. The app allows users to store game preferences, browse games, and view rankings based on personalized criteria.
Backend:
-
Flask — Web framework for building API routes.
-
PostgreSQL — Relational database for storing user data and game libraries.
-
SQLAlchemy — ORM to simplify database interactions and model definitions.
-
psycopg2 — PostgreSQL adapter for Python.
-
flask-cors — For handling Cross-Origin Resource Sharing between frontend and backend.
Frontend:
-
NPM - Package manager for JavaScript
-
React - JavaScript library for web app development
-
flask
-
flask_sqlalchemy
-
flask_cors
-
psycopg2
-
Node.js
-
next
-
react
-
react-dom
-
react-router-dom
- Clone the repository
- Set up a virtual environment (optional but recommended)
- Install dependencies on your machine or virtual environment
- Set up a PostgreSQL database and connect
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://USERNAME:PASSWORD@database_host/database_name'
- Change the CORS origin to your frontend URL
CORS(app, resources={r"/*": {"origins": "http://your_address"}})
- Run the backend
python3 backlogmain.py
- Clone the repository
- Install dependencies
- Get Node.js from nodejs.org
- Run npm install in the backlog-manager folder
- Change IP address in src/app files to your machine
- Run npm run build
- Run npm start
- User registration and login system
- Store and retrieve games in a personalized library
- Game ranking system based on user preferences (playtime, ESRB rating, genres, platforms, and reviews)
- Integration with the RAWG Video Games API for fetching game details
- We follow PEP 8 coding standards for Python.
- Python code quality is checked using pylint.
- HTML, CSS, and JS code is standardized and checked using Prettier linter with default options.