baoliay2008 / lccn_predictor

LeetCode Contest Rating Prediction
https://lccn.lbao.site
MIT License
566 stars 22 forks source link
beanie competitive-programming contest-programming daisyui elo fastapi fft leetcode mongodb prediciton pydantic python3 react

Introduction

This is a LeetCode weekly and biweekly contest rating predictor. The APP is available online at 🔗 lccn.lbao.site

Hopefully, you can get the predicted result within 15-30 minutes after the contest has finished.

Features

More Information

Underlying Mechanism

Algorithm

Database

Backend

Frontend

Development

Backend Deployment

virtualenv

git clone git@github.com:baoliay2008/lccn_predictor.git
cd lccn_predictor

# write your mongodb environment config
cp config.yaml.template config.yaml
vi config.yaml

python3.10 -m virtualenv venv/
source venv/bin/activate

pip3 install -r requirements.txt

python main.py
uvicorn api.entry:app --host 0.0.0.0 --port 55555

Docker

git clone git@github.com:baoliay2008/lccn_predictor.git
cd lccn_predictor

# write production environment mongodb config
cp config.yaml.template config.yaml
vi config.yaml

# build docker image
docker image build -t lccn_predictor:0.1.2 .

# create docker volume
docker volume create lccn_predictor

# run container
docker run -d -v lccn_predictor:/lccn_predictor -p 55555:55555 --name lp lccn_predictor:0.1.2

docker exec -it lp bash

docker container stop lp

docker container start lp

Frontend Deployment

cd client

# install dependencies
npm install

# change `baseUrl` to your local backend process
vi src/data/constants.js
# if you followed instruction above
# it should be "http://localhost:55555/api/v1"

# local test
npm start

# publish
npm run build

License

MIT License

Changelog


Supported by

JetBrains Logo (Main) logo