Skip to content

monpie3/nonogram

Repository files navigation

nonogram

icon

Ruff Code style: black Checked with mypy Actions status

This web application will be your go-to platform for generating logical puzzles for problem-solving. My aim is to create images that not only serve as puzzles but also convey meaningful representations once they are solved.


Deployment

DEMO 🚀

Note

The first-time compile and application warm-up may be slow because this project use free plans.

This project is deployed on Render, with the database hosted on Railway, and files stored on Cloudinary.


Launch Project Locally

It's highly recommended to use a virtual environment when working with third-party packages to ensure dependencies are managed effectively.

  1. Virtual Environment Setup.

    For instructions on setting up a virtual environment, click here.

  2. Repository Cloning.

    git clone https://github.com/monpie3/nonogram.git

  3. Directory Change.

    cd nonogram

  4. Package Installation.

  • For the minimum set of packages required to run the project:

    pip install -e .

  • For development purposes, including additional packages:

    pip install -e .'[dev]'

  1. Environmental Variable Configuration.

    Rename .env.template to .env and fill in all the environmental variables.

  2. Project Launch.

    python manage.py runserver

Project will run on http://127.0.0.1:8000/

  1. For development purposes, you can start also Django Tailwind in development mode.

    cd jstoolchains

    python manage.py tailwind start


Key Features To Implement

  • 🖼️ Puzzle Generation: Craft puzzles from your own photos, transforming them into engaging challenges for you to solve.
  • 🎨 Puzzle Solving: And solve them directly on the platform to sharpen your logical thinking skills.

Nice to have

  • 🔍 Hint Assistance: Stuck on a puzzle? Request a hint to nudge you in the right direction.

  • 🏆 Hall of Fame: Explore a showcase of solved challenges and celebrate your achievements.

  • 📸 Upload Your Puzzles: Upload images of physical logic puzzles, whether it's a snapshot of a paper puzzle or a hand-drawn challenge. Seek hints or complete solutions along with detailed analyses.


Used Technologies

tailwind → CSS framework

daisyUI → A component library for Tailwind CSS

Django → Python web framework

Django REST Framework → Toolkit for building REST APIs in Django

django-silk & django-debug-toolbar → Profiling and monitoring tool for Django

drf-spectacular → Automated API Documentation for Django REST Framework

PostgreSQL → Open-source relational database system

GitHub Actions & Pre-Commit → Used for testing and linting


Statistics

Bugs Code Smells Coverage Duplicated Lines (%) Lines of Code Reliability Rating Security Rating Technical Debt Maintainability Rating Vulnerabilities

Inspired by -> https://github.com/PiotrFerenc/mash2