GithubHelp home page GithubHelp logo

mirko796 / joviva Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1003 KB

Simple Image And Text Layout Editor

License: GNU General Public License v3.0

QMake 1.18% CMake 2.37% C 18.33% C++ 71.55% Shell 1.29% HTML 3.38% Python 0.30% Inno Setup 1.12% Batchfile 0.48%

joviva's Introduction

Joviva icon

JovIva

A simple and lightweight image manipulation tool created with modest intention to simplify arranging and printing coloring pages so even a child can use it.
This is a low-effort project that I created for my kids to have fun with. It does not strive to be a professional tool, but rather a simple and usable one.
The app is written C++ with Qt6 framework which guarantees very good multiplatform support, yet I was really suprised how easy it was to make WASM version with only some minimal tweaks on the browser-side JavaScript code. I haven't spent too much time on making the code super clean and well-structured, but it should be easy to understand and extend. Same goes for testing, there are some basic tests but don't expect any decent code coverage :)

Try it online

You can try it online here

Download

Head to the releases and pick binary for your system

Goals and non-goals

Main goals from user perspective were:

  • stable and multiplatform application (Windows, Linux, MacOS, WASM)
    My main motivation was frustration and innability to find a simple and stable app that would serve this purpose and work on all platforms (Linux is especially problematic in this regard).
  • simple UI that even a child can use
    The most rewarding part is when you see a child using it and having fun with it without needing your help
  • ability to add/resize/move images
  • ability to add text and to some basic transformations on it

Non-goals:

  • advanced image manipulation (adjusting levels, cropping images, drawing etc.)

Build instructions

Prerequisites

  • C++11 compiler
  • Qt6 (with minimal tweaks it can be compiled with Qt5 as well) - https://www.qt.io/download
  • emscripten if you want to build WASM version
  • InnoSetup if you want to build Windows installer

Building

  1. Clone the repository
  2. Open the projects/JovIva/JovIva.pro in Qt Creator
  3. Build the project
  4. Tadaa... enjoy your freshly baked JovIva

Building Installers

Mac

Head to the installers/mac folder, create config.sh from config.sh.template and adjust it to your needs.
Using terminal:

cd installers/mac
./make_installer.sh

The installer will be created in the installers/mac/output folder

Windows

Head to the installers/windows folder, create config.bat from config.bat.template and adjust it to your needs.
Using git bash console (command prompt is also fine, just adjust the commands accordingly):

cd installers/windows
cmd //C ./make_installer.bat

The installer will be created in the installers/windows/output folder

Linux

Head to the installers/linux folder, create config.sh from config.sh.template and adjust it to your needs.

cd installers/linux
./make_installer.sh

The installer will be created in the installers/linux/output folder

Wasm

Head to the installers/wasm folder, create config.sh from config.sh.template and adjust it to your needs.

cd installers/wasm
./make_installer.sh

The archive with all files needed for hosting online version will be created in the installers/wasm/output folder. Just put these files on any static web server and you are good to go.

joviva's People

Contributors

mirko796 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.