FPL Analytica is a custom fantasy league playing platform which is a replica of Fantasy Premier League. This was my term project for CSE216 at Level 2 Term 2, BUET.
My project partner was Muhammad Ehsanul Kader, and the project was supervised by Dr. Rifat Shahriyar.
FPL Analytica was built with Django at the backend and React completely handing the frontend (handling routes and rendering webpages).
Features of FPL Analytica implemented till now:
- Transfer of football players in and out of the fantasy team
- Detailed statistics of each players for each gameweek played
- Creation of leagues and inviting other players based on invite codes
- Management of leagues including changing the league name and removing members
- Picking the starting XI and choosing four substitutes
- Calculation of gameweek points based on the chosen starting XI
- Getting the repository
git clone https://github.com/showvikbiswas/fpl_analytica.git- Inside the fplanalytica folder, navigate to the backend folder.
- Make sure the latest version of Python is installed.
- Install pipenv
pip install pipenv- Create a new pipenv environment inside backend
pipenv shell- Install the following prerequisites
pip install django pip install djoser pip install djangorestframework pip install cx_oracle pip install django-cors-headers- Open SQL Plus
- Connect to system using credentials
- Create a new user c##fpl
create user c##fpl identified by password;
grant dba to c##fpl;- Find the SQL dump in sql/dump.sql
- Use a database GUI to connect to fpl and import the dump to the database
In fplanalytica/backend/auth_system/settings.py, navigate to the DATABASES object, and replace the USER and PASSWORD fields in fpl_db with your Oracle credentials.
At fplanalytica/backend/, with the pipenv shell activated, run the following
python manage.py runserverThe server should be up and running.
If you want to modify the frontend, once inside the frontend folder, run the following
npm installThen with each modification made, run the following npm script with a shell that supports the rm and cp commands
npm run buildto apply the changes to the application.