Automating MakePlayingCards' online ordering system.
If you're here to download the desktop client, check the Releases tab.
JetBrains supports this project's development through their Open Source Development licensing.
- Web project:
- Located in
/MPCAutofill
, - Images stored in the Google Drives connected to the project are indexed in Elasticsearch,
- Stack:
- Backend:
- Django 4,
- The database of your choosing (Elasticsearch is fine),
- Elasticsearch 7.x,
- Google Drive API integration,
- Frontend:
- jQuery + jQuery UI,
- Bootstrap 5,
- Webpack + Babel for compiling and bundling the frontend,
- Backend:
- Facilitates the generation of XML orders for use with the desktop client,
- Intended to be deployed as a web application but can also be spun up locally with Docker.
- Located in
- Desktop client:
- Located in
/autofill
, - Responsible for parsing XML orders, downloading images from Google Drive, and automating MPC's order creation interface.
- Located in
Each component of the project has its own README; check those out for more details.
- Python 3.9+ and the packages specified in
requirements.txt
for each component (web project and desktop client).
- Please ensure that you install the
pre-commit
Python package and runpre-commit install
before committing any code to your branch / PR - this will runblack
andisort
on your code to maintain consistent styling, and runmypy
to catch any static typing issues. - GitHub Actions is configured in this repository to run the Django project's end-to-end tests. To run these, it needs to access the Google Drive API, and does so through a repository secret named
GOOGLE_DRIVE_API_KEY
. If you fork this project, you'll need to set this repository secret for GitHub Actions to run these tests for you.