Is a web based gaming app. The app currently can crack any 2x2 or 3x3 Sudoku puzzles.
coming soon - poker
The app is built with Python/Django/Graphene for its backend, Node/Typescript/React/Apollo for its frontend
Git
Guide to Git Installing GitPython 3.5 or higher
Python Software FoundationPip
Guide to installing pipPipenv
Pipenv documentationNodeJs
Download nodejsNpm
NpmJsRedis
Redis QuickStart- optional
Docker
Docker QuickStart
- After installing the
prerequisites
above, clone the repository Develop branch using this commandgit clone -b develop https://github.com/ja-odur/puzzled.git
- Change into the newly cloned repo through
cd puzzled
After the setting up the .env
file following the .env_sample
. ensure to have the following keys with
the following docker image values;
DATABASE_URI
- $
postgresql://docker:docker@db:5432/puzzled
REDIS_URL
- $
redis://redis:6379/0
Build the docker images using
- $
docker-compose build
Starting the development application
- $
docker-compose up
Using pipenv, start the environment and install requirements
- $
pipenv shell
Install the invoke
library
- $
pip install invoke
Using invoke, install both Python and Node dependencies using
- $
inv install-requirements
Set-up Node path
- $
source ./bin/functions/set_node_path.sh && setNodePath
- create a
.env
file in the root directory and add the environment variables key defined in the.env_sample
file with their corresponding values.
Run webpack build
- $
inv build-local
Start the Django server
- $
inv run-server
in terminal
Enabling hot-reloading using webpack-dev-server
, run the following command in a separate terminal
- $
inv webpack-server
Checking for JS and Python Linting respectively
- $
inv lint-js
- $
inv lint-py
Auto-fixing JS and Python linting respectively
- $
inv prettier-js
- $
inv prettier-py
Running Python tests
- $
inv test-py
Run the following commands in separate terminals
Starting redis
- $
redis-server
Starting django-q cluster
- $
python manage.py qcluster
Odur Joseph