Giter Club home page Giter Club logo

danielbrendel / hortusfox-web Goto Github PK

View Code? Open in Web Editor NEW
555.0 555.0 31.0 49.43 MB

Self-hosted collaborative plant management system for your local environment

Home Page: https://hortusfox.github.io

License: MIT License

PHP 67.10% JavaScript 7.60% SCSS 6.48% Hack 17.06% CSS 0.53% Shell 1.22%
gardening home-plants horticulture hortusfox plant-care plant-collection plant-growth plant-journal plant-manager plant-monitoring plant-parent plant-tracking plants plants-grow selfhosted

hortusfox-web's Introduction

Hi there! I am Daniel Brendel ๐Ÿ‘‹

I am a software developer and project founder from germany. I love creating web applications, games, programmer tools and various other kinds of software. I am the founder of various projects. This helped me gaining extensive expertise in software development, project hosting, marketing, customer support and management. I am also a hobby gamer, occassional drummer and singer and I also enjoy a nice coffee at a coffeeshop while working on things using my laptop. Furthermore I like hiking and other sporting activities.

Technologies ๐Ÿ”ง

Statistics ๐Ÿ“ˆ

Activity
Langs

Where to find me ๐Ÿ“ซ

Currently working at ๐Ÿ’ผ

After working as a software developer in various companies I am now pursuing to become a full-time OpenSource developer

hortusfox-web's People

Contributors

aeber avatar boc-the-git avatar brianw777 avatar danielbrendel avatar iandday avatar inputobject2 avatar krinkuto11 avatar lovelesscodes avatar millio345 avatar nbentfeld avatar xthrodx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hortusfox-web's Issues

Error during installation

Dear Daniel,

First of all, thank you so much for your work on Hortusfox - your dedication is impressive, and this piece of software looks like exactly filling a gap in my self-hosting needs!

The Bug

I have tried to install Hortusfox following these instructions, however could not succeed: I stumble on an error when trying to populate the database (asatry migrate:fresh):

charlie@HomeServices:/opt/hortusfox-web$ php asatru migrate:fresh
PHP Fatal error:  Uncaught Error: Class "CacheModel_Migration" not found in /opt/hortusfox-web/vendor/danielbrendel/asatru-php-framework/src/database.php:1145
Stack trace:
#0 /opt/hortusfox-web/vendor/danielbrendel/asatru-php-framework/src/database.php(1199): Asatru\Database\MigrationLoader->dropAll()
#1 /opt/hortusfox-web/vendor/danielbrendel/asatru-php-framework/src/console.php(1034): migrate_fresh()
#2 /opt/hortusfox-web/asatru(37): Asatru\Console\handleInput()
#3 {main}
  thrown in /opt/hortusfox-web/vendor/danielbrendel/asatru-php-framework/src/database.php on line 1145

For reference, I cloned the repo in /opt, and gave all credentials to user charlie on the /opt/hortusfox-web folder

Server details

OS Debian 12

charlie@HomeServices:/opt/hortusfox-web$ uname -a
Linux HomeServices 5.15.131-1-pve #1 SMP PVE 5.15.131-1 (2023-11-09T09:29Z) x86_64 GNU/Linux

PHP v8.2.7

charlie@HomeServices:/opt/hortusfox-web$ php --version
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

MySQL v15.1

MySQL is installed and configured (I manually created user and database for hortusfox):

mysql  Ver 15.1 Distrib 10.11.4-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Composer v2.6.6

charlie@HomeServices:/opt/hortusfox-web$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.6 2023-12-08 18:32:26

Installation details

As far as I can tell, the Installation went smoothly. Here is the detail of the packages installed:

charlie@HomeServices:/opt/hortusfox-web$ composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Package operations: 33 installs, 0 updates, 0 removals
  - Installing sebastian/version (2.0.1): Extracting archive
  - Installing sebastian/type (1.1.4): Extracting archive
  - Installing sebastian/resource-operations (2.0.2): Extracting archive
  - Installing sebastian/recursion-context (3.0.1): Extracting archive
  - Installing sebastian/object-reflector (1.1.2): Extracting archive
  - Installing sebastian/object-enumerator (3.0.4): Extracting archive
  - Installing sebastian/global-state (3.0.3): Extracting archive
  - Installing sebastian/exporter (3.1.5): Extracting archive
  - Installing sebastian/environment (4.2.4): Extracting archive
  - Installing sebastian/diff (3.0.4): Extracting archive
  - Installing sebastian/comparator (3.0.5): Extracting archive
  - Installing phpunit/php-timer (2.1.3): Extracting archive
  - Installing phpunit/php-text-template (1.2.1): Extracting archive
  - Installing phpunit/php-file-iterator (2.0.5): Extracting archive
  - Installing theseer/tokenizer (1.2.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (1.0.2): Extracting archive
  - Installing phpunit/php-token-stream (4.0.4): Extracting archive
  - Installing phpunit/php-code-coverage (7.0.15): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.3): Extracting archive
  - Installing myclabs/deep-copy (1.11.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.28.0): Extracting archive
  - Installing doctrine/instantiator (1.5.0): Extracting archive
  - Installing phpunit/phpunit (8.5.36): Extracting archive
  - Installing phpmailer/phpmailer (v6.9.1): Extracting archive
  - Installing symfony/translation-contracts (v3.4.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
  - Installing symfony/translation (v6.4.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.28.0): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing carbonphp/carbon-doctrine-types (3.1.0): Extracting archive
  - Installing nesbot/carbon (2.72.1): Extracting archive
  - Installing danielbrendel/asatru-php-framework (v1.0): Extracting archive
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
27 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Reproduction steps:

  1. Configure server with NGinx, MySQL, PHP and Composer
  2. Clone git repo
  3. Run composer install in cloned repo
  4. Initialize databases with php asatru migrate:fresh

Thanks in advance!

Quick search for plants

Add a quick search filter for plants of locations, so that the current list can be filtered by expressions.

Long term session

Long term session, so that logins are not lost after closing browser.

Chronicles

Implement a chronicles feature, so workspaces can keep a history of all past plants. Admins can give the chronicles a custom name if desired.

Cleanup data on plant removal

The following data should also be removed when deleting a plant:

  • The photo images (thumb and original)
  • All associated gallery entries and photo images

Readme improvements

The following needs to be added/updated:

  • Add a description and indication that when installing the product the admin must add plant locations to the database manually
  • Fix all typos (e.g. You next step)

Link to plant info website

Add an optional hyperlink to an informational resource to the scientific name. If one is provided then the text will turn into a hyperlink. If not it will just be plain text.

Input fields background color

For all input fields that are not part of a modal, the background color should match the dark style of the view it is placed in.

Installer feature

Implement an installer feature so the product can be comfortably installed.

Plants sorting

Sort plants in locations by various aspects:

  • Alphabetically
  • Last time watered
  • Last time repotted
  • Health status
  • Perennial
  • Light level
  • Humidity

User settings in profile

Let users change some personal settings in profile view.

Possible settings:

  • Language
  • Log visibility

Version check and hint

Check for new versions and if a new version is available then notice admin users by displaying a hint in the admin dashboard and index dashboard.

Calendary filter for history

Let user select plants to show via calendary year starting from the first added entry. Show all related years as clickable tag style inline list.

Versioned asset query

Use the versioning parameter of the asset() call in order to force a browser cache update.

Optional 'due' date for tasks

Allow users to add an optional 'due' date to tasks. If it is reached and the task is not completed, then show a warning.

Overflow scrolling in single views

In single view pages such as auth or reset, the mobile scrolling is a bit messed up. Overflow scrolling for width should be disabled.

Authentication page

If authentication failed then redirect to an auth page where user can input token in order to authenticate.

Improve tasks layout

On desktop width task items should be displayed inline-block and take half of frame, so two items can be displayed next to each other.

Mail notifications

Implement notifications per e-mail for important infos, such as when a task is overdue. Use with cronjob multiple execs per day, so not all users are notified at once.

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.