You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Jakub Valenta 117d2e01a0 Version 0.6.1 7 months ago
accounts tests: Add more unit tests and check code coverage 3 years ago
conf conf: Remove deprecated USE_L10N 7 months ago
frontend css/layout: Style logout form in header 7 months ago
tessellation templates: Update copy year in footer 7 months ago
.editorconfig setup,editorconfig: Update max line length 3 years ago
.gitignore tests: Add more unit tests and check code coverage 3 years ago
COPYING Change license to GPLv3+ 4 years ago
Makefile Use poetry and upgrade Django to 4.1 7 months ago
NOTICE Use poetry and upgrade Django to 4.1 7 months ago
README.md Use poetry and upgrade Django to 4.1 7 months ago
manage.py Add production settings 4 years ago
poetry.lock Use poetry and upgrade Django to 4.1 7 months ago
pyproject.toml Version 0.6.1 7 months ago
setup.py Version 0.6.1 7 months ago
tox.ini Use poetry and upgrade Django to 4.1 7 months ago

README.md

Tessellation

A web app to arrange tiles according to specified rules.

Tessellation allows you to upload square images and define how they connect. The app will then try to arrange the tiles into a larger composition adhering to the connection rules. This is similar to the Wang tiles problem.

Tessellation screenshot

Installation

Mac

$ brew install poetry yarn
$ make setup

Arch Linux

# pacman -S python-poetry yarn
$ make setup

Other systems

Install these dependencies manually:

  • Python >= 3.8
  • yarn
  • poetry

Then run:

$ make setup

Usage

Start a development server

$ make run
$ make frontend

Create database:

$ make create-db

Create database tables, superuser, and populate the db with fixtures:

$ make migrate create-superuser populate-db

Start a development server with production settings.

Dependencies:

  • pwgen
$ make run-prod

Development

Testing and linting

make test
make lint

Help

make help

Contributing

Feel free to remix this project under the terms of the GNU General Public License version 3 or later. See COPYING and NOTICE.