trongate / trongate-desktop-app

A free and open source desktop app to assist users of the Trongate framework
GNU General Public License v3.0
24 stars 4 forks source link

Trongate Desktop App

logo

Break the rules, use Trongate

GitHub stars are the metric by which the success of frameworks gets measured. We need 1,200 GitHub stars to make Trongate a top-ten PHP framework. If Trongate becomes a top ten PHP framework, it will be one of the most electrifying events in the history of PHP!

Nodejs and Electron required Nodejs and Electron required contributors last update forks desktop stars open issues

The Trongate PHP Framework

framework stars

Website · Documentation · Learning Zone · Need some help · Request a Feature


:notebook_with_decorative_cover: Table of Contents

:star2: About the Project

The Trongate Desktop App is an Electron-based application designed to streamline development with the Trongate PHP framework. It offers a range of features to enhance productivity and simplify the development process.

The Trongate framework was built with a love of pure PHP and a belief that PHP is best when it's easy, stable, and fast. It actively rejects PSR-4 auto-loading, Composer, Packagist, rewrite culture, certification, and all forms of bureaucracy.

The Trongate framework is free, as is the desktop app, and it always will be. That's a promise!

:dart: Features (click to reveal)

Create a new Trongate app

No command line. No Git. No 'Composer dot phar'. No Yaml. No Packagist. Trongate installs itself. Simply download the free Trongate desktop app and set up entire database-driven apps in seconds!

Properties Builder

The properties builder creates the database schema and code scaffold for general CRUD operations, enhancing productivity with automatic code generation.

Graphical Query Builder

Trongate is the only framework that comes with a free graphical SQL query builder. So, now you can build complex table joins easily and liberate yourself from costly db management software.

Module Import Wizard

Easily import entire modules, including SQL data. Drag 'n' drop web development, at last.

Module Market Portal

Import custom modules into your app from the online Module Market, offering a wide range of additional functionality.

Create Module Relations

Create table joins or pivot tables to link data seamlessly within your application.

File Uploaders

Add single or multi-file image uploaders to your modules effortlessly, streamlining the process of handling file uploads.

:toolbox: Getting Started

Create Trongate apps

Have MariaDB or MySQL installed and running, either with Xampp or similar (note some people have had connection issues with MySQL on a Mac - usually solved with permission fixes)

Develop and/ or build the Desktop App

Ensure Nodejs is installed, clone this repo. Change the directory into it and run this command to install the 'Node Modules' needed

Note: the versions above were bumped up to the latest stable versions, which are close to what DC used at the time of creating the Desktop App (Electron 26.2.1 and Node 18.16.1) - You can use later versions but please always match the Electron version with the correct Node version - https://releases.electronjs.org/, also use the 'Node Version manager' at https://github.com/nvm-sh/nvm to swap Node versions `choco install nvm` on Windows.

npm install

To run the Desktop app from the downloaded repository

npm run start or npx electron .

or install Electron globally

npm install electron@27.3.5 -g

and run it like this

electron .

Create a .gitignore file if you intend to post pull requests

# DC stuff
_junk/

# Node artifact files
dist/
node_modules/
package-lock.json

# Git files
.gitignore

Compile the Desktop App

Windows

npx electron-builder -w or npm run electron:win

Edit 'package.json' "win": {"target": "zip"}

Mac

npx electron-builder -m or npm run electron:mac

Linux

npx electron-builder -l or npm run electron:linux

:wave: Contributing

Contributions are always welcome! Visit our GitHub repository to contribute.

:warning: License

GPL-3.0 license

:handshake: Contact

David Connelly - @davidjconnelly - Get In Touch