Web browser multiplayer strategy card game
Online game combining original battle strategy games with fast-paced card games in turn-based form
⚠️ Project is in very early stage of development
- Match: you can combat against other player by your cards to capture his base or destroy his units and gain glory
- Cards: each card describe unit with different properties like: rarity, category, health points
- Units relations: every unit is unique in some way, units categories affect in different way on each other
- Strategy: arrangement of your units in board is important to win
- Accounts: to information about your deck, collection etc. was safely stored
Praeteritum requires Python 3.9.1, pip >= 20.2.3 and Redis >= 5.0
Clone repository from github
git clone https://github.com/NoMariusz/Praeteritum.git
After that if you want, make venv for packages and install dependencies by pip install
pip install -r requirements.txt
It will be good to make now .env file with all necessary environment variables
echo > .env
⚠️ Redis service should be active to django-channels can run correctly, here is how to install
Now run migrate to django create database
py manage.py migrate
And before run, it is good to have some admin account, so make it
python manage.py createsuperuser
Finally you can run server
py manage.py runserver 127.0.0.1:80
Hint! If you want to play a match, don't forgot add some cards from admin page
SECRET_KEY=someSecretKey
DJANGO_DATABASE=dev
MAIN_REDIS_CONNECT_STRING=127.0.0.1:6379
DJANGO_CHANNEL_LAYER=dev
MAIN_DB_NAME=
MAIN_DB_USER=
MAIN_DB_PASSWORD=
MAIN_DB_HOST=
MAIN_DB_PORT=
Praeteritum code should be viewed and edited with your editor set to use four spaces per tab. In Python part of code please follow PEP 8. JavaScript / React part is written mostly at function components and tries to follow Airbnb React/JSX Style Guide.
Images are mostly from Pixabay
Application uses pytest with pytest-asyncio and pytest-django. That combination help a lot to test asyncronous code and threads which needs to access django ORM.
Project is made available under the terms of the MIT license