Skip to content

AidanWarner97/tile-image-gen

Repository files navigation

TILE-IMAGE-GEN

license last-commit

Developed with the software and tools below.

HTML5 Python


Quick Links


Overview

Create tile layouts from 1 or 4 variants using multiple layouts and various colour choices for grout colours.


Features

  • Only requires 1 image if only 1 variant is available, but supports 4 images if you have multiple variants.
  • Provide the name of the tile for a more understandable file name.
  • Select from multiple different layout options.
  • Add a grout line and your choice of grout colours from brands BAL and UltraTile.

Repository Structure

└── tile-image-gen/
    ├── LICENSE
    ├── app.py
    ├── wsgi.py
    ├── tile-image-gen.service
    ├── Dockerfile
    ├── install.sh
    ├── static
    │   ├── favicon.ico
    │   ├── robots.txt
    │   ├── info.svg
    │   ├── logo.png
    │   └── sitemap.xml
    └── templates
        └── index.html

Modules

.
File Summary
app.py Backend for creating and merging uploaded files and adding grout lines
templates
File Summary
index.html Front end site for end users

Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • Python: version 3.11

Installation

  1. Clone the tile-image-gen repository:
git clone https://github.com/AidanWarner97/tile-image-gen
  1. Change to the project directory:
cd tile-image-gen
  1. Install the dependencies:
> sudo bash install.sh

Running tile-image-gen

Use the following command to run tile-image-gen:

> python app.py

Installation

Automatic

For simpler install, run the install.sh

> sudo bash install.sh
> sudo systemctl enable --now tile-image-gen.service

Manual

Make sure to install the dependencies first

pip install -r requirements.txt

Then edit the service file

> nano tile-image-gen.service

Change the Working directory and ExecStart line to the location you want the script to run from.

WorkingDirectory=/opt/tile-image-gen
ExecStart=/opt/tile-image-gen/venv/bin/python /opt/tile-image-gen/wsgi.py

Then you can run the following commands:

> cp tile-image-gen.service /etc/systemd/system/
> systemctl daemon-reload
> systemctl enable --now tile-image-gen.service

Docker

Docker support is here, with the repo being hosted here

docker run \
  -p 5000:5000 \
  -p restart=on-failure \
  mraidanlw97/tile-image-gen:python3

Docker Compose

services:
  tile-image-gen:
    image: mraidanlw97/tile-image-gen:python3
    ports:
      - "5000:5000"

Project Roadmap

  • Add option for no grout-lines
  • Upgrade codebase to Python3
  • Enable docker support
  • [] Upgrade ratios for more than just herringbone
  • [] Update web template

Contributing

Contributions are welcome! Here are several ways you can contribute:

  • Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone https://github.com/AidanWarner97/tile-image-gen
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


License

This project is protected under the AGPL License. For more details, refer to the LICENSE file.

Return


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published