A chrome plugin for the purpose of showing each course's score distribution on the site "台大課程網"
Create .github/token
and put your github personal access token in it.
After updating .env
, you should run python scripts/update_env.py
to both update secrets stored in github repo and the .env.sha256
in local. Then, you should immediately push .env.sha256
to master.
If existing storage type is changed, then should clearStorage in next update.
- Extend to NTU COOL
- Add tests
- Bug report
tabs.captureVisibleTab
- Add quick badge for course search items (e.g. '35% A+')
- Send notification when new release arrived
- Check .env is not out-dated
- Check storage definition is modified
- Test (on
master
)- Run test for extension/
- Run test for app/
- Run test for both together?
- When
extension
branch is pushed, create release and update extension to web store- Extract and validate version
- Auto-generated release body by
release/HISTORY.md
- Build extension/dist/ and upload to web store (this requires futher manual update description & publish)
$ pip install -r requirements.txt
$ cd app
$ python app.py
$ cd extension
$ npm install # or yarn or pnpm install
Then for development:
$ npm run watch #
For production:
$ npm run build
Now the extension can be loaded from extension/dist
.
Run server and db with docker-compose up
.
Inside the container, the db is listening on db:3306
; From your host machine, the db is on localhost:3333
. Thus on host machine you can also connect to db with
$ mysqlsh
> \sql
> \c root@localhost:3333
If you don't want to run app with docker, just comment the app
service and run python app/app.py
as usual.
The data stored in MySQL is mounted on ./data/sql/mysql
, meaning that it is persistent.
I have not figured out exactly how it works, but if you update it, then perhaps you have to run
sudo rm ./data/sql/mysql/* -rf
to make init.sql
run.