Skip to content

tobijafischer/Eatable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Eatable

⚠️ Die Weiterentwicklung des Projekts ist zur Zeit pausiert. Bist du interessiert daran, die vorhandene Grundlage weiterzuentwickeln? Dann melde dich bei Tobija Fischer

Offizielles Repository von eatable.ch – eine Schweizer App für nachhaltige Ernährung. Der gesamte Code wurde zwischen Sommer 2021 und Frühling 2022 geschrieben.

Über das Projekt

Eatable ist eine App, die das Ziel hat, Ernährung in der Schweiz nachhaltiger zu machen. Du wirst von eatable auf verschiedenste Weisen unterstützt und inspiriert. Als digitales Kochbuch mit nachhaltigen Rezepten, die auf vorhandene Vorräte abgestimmt sind. Als interaktiver Einkaufsratgeber, der aufzeigt, welche Zutaten wie ökologisch sind und was gerade Saison hat. Als Inspirationsquelle, wo sich nachhaltige Läden und andere spannende Projekte zum Thema Ernährung und Nachhaltigkeit entdecken lassen.

Technischer Aufbau

Das technische Konstrukt der Applikation besteht aus 3 Teilen, die alle komplett voneinander entkoppelt sind. Backend-Oberfläche, API Schnittstelle und das Frontend. Die aktuelle Test-App lässt sich unter alpha.eatable.ch aufrufen. Dazu kommt die Wordpress-Seite eatable.ch, die das Projekt vorstellt und zu Marketing-Zwecken verwendet wird. Folgende Abbildung zeigt alle Domains des Projekts:

eatable-domain-configuration

1. Backend

Das Backend (admin.eatable.ch) ist nicht Teil der Open Source Codebase. Genau wie die API Schnittstelle ist das Backend von Grund auf mit Objekt-orientiertem PHP-Code geschrieben. Es ermöglicht mittels übersichtlicher Benutzeroberfläche die Verwaltung jeglicher Datenbank- und App-Inhalte von eatable.

2. Schnittstelle

Die Schnittstelle (api.eatable.ch) war ursprünglich Teil des Backends, wurde dann aber entkoppelt. Sie stellt dem Frontend durch einen zentralen Entry-Point (index.php) alle nötigen Inhalte und Funktionen zur Verfügung, um mit der MySQL Datenbank zu kommunizieren.

3. Frontend

Das Frontend (app.eatable.ch) basiert auf Vue.js mit Typescript und dem Ionic Framework.

Lokales Development

  1. Die API-Schnittstelle (/02_API/) mit lokalem PHP-Server öffnen und mit einer lokalen MySQL Datenbank verbinden. Benenne dazu das File "/02_API/core/init-example.php" um in "init.php" und ändere die folgenden Zeilen zur lokalen Dankenbankverbindung:
$GLOBALS['config'] = array(
  'mysql' => array(
    'host' => 'localhost',
    'dbuser' => 'root',
    'password' => '12345678',
    'db' => 'eatable_dev'
  )
);
  1. Öffne den Frontend-Folder (/03_Frontend/) im Terminal und installiere alle Dependencies mit:
npm install
  1. Ändere die Variable "baseApiUrl" unter "/03_Frontend/src/variables/environmentVariables.ts" zur URL der API-Schnittstelle, die auf dem lokalen PHP-Server läuft.

  2. Starte die Vue App mit:

npm run serve
  1. Die App sollte nun lokal funktionieren. Für Fragen und Unterstützung gerne bei Tobija Fischer melden.

About

Open Source Repo von eatable.ch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published