thinkle / gourmet

Gourmet Recipe Manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fork of Gourmet created as a web application

mtsinc1 opened this issue · comments

Steps to Reproduce

Running Gourmet on recent versions of Fedora Linux has become very difficult

Expected Behavior

Would like to return the system to its original glory (and utility!)

Current Behavior

Now that Python 2 is dead, Gtk has been completely changed and various other breakages have occurred past and present. it is difficult to impossible to run Gourmet on Fedora Linux and other modern Linux distros. When possible, essential features such as printing recipes are often not available

Possible Solution

I looked at the possiblity of upgrading the existing project, but A) too many big things are too broken for my limited Python expertise (including things that aren't directly Python-related) and B) having worked with the app for many years, breakage from external causes has been a recurrent problem. The project would require more time and resources than it currently has to keep abreast of these externalities, so I've taken the liberty to re-engineer it from scratch on a platform that is inherently designed to be "future-proof".

Environment

The forked version runs as a Java Enterprise Edition (JEE) web application and operates against a copy of the Gourmet recipe.db file. At the moment, it consists of 2 pages: the search/display page and a recipe detail page. Search is presently minimal (works best on single words) and you cannot add or edit recipes, but it's good at least for looking up existing recipes.

Because Java is "write-once/run-anywhere", the webapp will operate on any OS that supports Java (Windows, Linux, OSX, probably IBM z/OS and BSD). Because it's a webapp, there is no concern that the GUI will suddenly turn upside down like Gtk did. It uses the Java Persistence Architecture for database interfacing, so there's future potential for other database platforms. In fact, wherever possible well-documented industry-standard components have been used.

Presently to run the app you have to install and setup a Tomcat server (Tomcat 9 recommended). You need Maven and Java 11 to build. Plans call for eventually making this a Spring Boot app, which will make it completely self-contained and much easier for the casual user to work with. A container-based solution is also likely. I like containers.

Source code can be found at https://gogs.mousetech.com/mtsinc7/GourmetJ Be kind. There is a LOT of work to do yet.

Milestone

I have an updated demo of the webapp version at https://gourmetj.mousetech.com/gourmet

This version is designed to be able to create, browse, view and edit recipes. It runs off the original gourmet database schema.

mainpage

details

Clicking out to the above link brings my Firefox to a yellow border page which reads:

Warning: Potential Security Risk Ahead

Firefox detected a potential security threat and did not continue to gourmetj.mousetech.com. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details.

What can you do about it?

The issue is most likely with the website, and there is nothing you can do to resolve it. You can notify the website’s administrator about the problem.