Git Product home page Git Product logo

thilo's Introduction

Thilo - Frontend of Thilo

Schweizer Pfadibüchlein Thilo, das Original.

The Thilo contains a lot of interesting and useful information about the Scouts and belongs on every Scout's bedside table and in his or her bag. Contents: The scout movement, the world we live in, scout techniques, first aid, nature and the environment, camp life, etc.

Frontend written in React.

Big Picture

Architecture

Components

Frontend

React Frontend

Backend

Strapi Backend

Deployment

Run docker-compose.prod.yml file

docker-compose -f docker-compose.prod.yml up -d

Services

Development

Environment Variables

None

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

Contribute

Willst du mithelfen oder hast einen Verbesserungsvorschlag? Schaue dir die Issues an oder erstelle ein Neues. Wir freuen uns über jeden PR. Bei Fragen kannst du dich an die Betreuungskommission (inhaltlich) oder die IT Kommission (technisch) wenden.

Content Creation

Der Inhalt für dieses Frontend wird mittels Markdown und HTML erstellt. Zur Zeit werden JSON Dateien angelegt mittels Strapi die Markdown enthalten.

Anleitungen und Cheat Sheets für Markdown:

Die grundlegende Markdown Syntax, die in diesem Projekt unterstützt wird, findet Ihr auf folgenden Seiten:

Projektspezifisches Markdown:

Die Bildgestaltung und die Bildunterschrift können über das Alt-Attribut eines Bildes spezifiziert werden, wie folgt:

[caption: test-image; width: 150px; height: 150px;](location/of/test-image.jpg)

Der caption tag erlaubt die ursprüngliche alt-tag funktionalität noch zu nutzen. Wichtig ist das trennen von tag Name und Wert mittels :, und das abschliessen eines Paars mit ;. Genau wie bei der Verwendung von CSS.

Alle möglichen HTML Einheiten funktionieren für die width und height tags (und es können auch andere gültige CSS-Stiltags verwendet werden).

Für weitere Infos, siehe die Erfassungsrichtlinien des Hering Projekts, auf dem das Thilo basiert.

Production

The frontend is deployed to GitHub pages.

thilo's People

Contributors

bodobraegger avatar jimmylevell avatar dependabot[bot] avatar aladwani avatar

Stargazers

Niclas Heinz avatar Carlo Beltrame avatar Davud Evren avatar  avatar

Watchers

 avatar  avatar  avatar

thilo's Issues

Different styling stuff


  • line break for lists Screenshot 2023-09-05 at 13 36 00
  • SidebarNav Header change to Thilo Online for now
  • Exchange "Erste Hilfe with negative one"

Containerize Tech-Stack

Containerize the whole Thilo Tech Stack, so it can be easily instantiated.

  • Containerize the frontend (build with GitHub Action and host it on GitHub Container Repo)
  • Create docker compose with all components (database = postgres, frontend = react, backend = strapi, link shortener = shlink)

Test solution in a scout area

Pre-Requisites

  • Additional test data within the solution - #111

How:

  • selected scout group (all ages [wölfi - rover]) and users get access to the app
  • The feedback is retrieved using the following forms
  • Invective: they can shape the future of thilo and win one of five thilo books
  • Leaders need to be instructed, so that the tool should be tested in a controlled environment with the scouts. This means that it should be used in a typical Saturday afternoon
  • The leaders should ensure that also negative feedback be provided, that there are no consequences of speaking the truth. Ensure unbiased data collection.

Who:

  • selected scout group (from wölfe till rovers)
  • IT commission
  • Thilo Project team

Goal:

  • evaluate if the tool us useful
  • define features for the next iteration
  • define goal of the successor project

Furthermore the following question should be addressed in these tests

  • Having low bandwidth / no connection: how does the app behave?

darkmode

Integrate dark mode possibility and theme (white and dark) changer

Missing IT resources within thilo project

An additional person supporting this project over a longer period than the project would be extremely enriching. Further concepts such as community driven knowledge and in general future improvement of the app could be beneficially for the whole scout movement:

The person should have minimum knowledge in computer science and web development.

  • Is it possible to find a new person, even if the project is ending soon?
  • How can the IT com help in this process?
  • Project team in lead

Add more data to the solution

Add further chapters and include more realistic quizzes.

This helps to better see what needs to be further improved and also influence the decisions for the successor project.

Interface between book and web site

How can a print view reader jump to the website at the same chapter?

As simplest approach a QR code could be used pointing to the various chapters within the thilo web app. The links must be as detached as possible, as the solution is tied to the print version. Should be detached from the PBS and from the web app. Therefore a link shortner is placed between the web app and the book. The links are resolved by the link shortner. This allows to further improve the components individually by respecting the interface between them.

Thus thilo should be in the domain name:

  • Web App: thilo.scout.ch

  • Short Links: thilo.cloud

  • Feedback IT kom

  • Feedback project team (Broesmel)

Move text to il8n

all UI element wo übersetzt werde münnd, separat vom content:
Z.b. de homepage name (im moment eifach Home), de sidebarnav header, UI labels im allgemeine
die lebed im src/i18n ordner ide *.json files

Integrate Analytics

Requirements

  • who access (unique users) from where the app?

Goal

  • to measure the usage of the app and the coverage of the app

Export to PDF

Evaluate how much work it is to implement a PDF export functionality within Thilo

Performance and Caching - Hosting Situation

Currently, we have a static front-end with a pull-only back-end architecture, data being pulled from Strapi.

It would be better if we can integrate Strapi onto a server from where we also host the front-end, to allow for actual browser based caching using Progressive Web Apps, by serving the .json content files from the same location.

Related to #134 and #133.

Image markdown styling via alt-tag: Syntax and Effectiveness

The current alt-tag image styling needs to be more user friendly and readable.

Current example: [alt: test-image, size: 150pxx150px]

I think mirroring CSS style attributes would be an improvement:

[caption: test-image; width: 150px; height: 150px;]

Furthermore, in the current setup, the style tags are added to a parent div created around the img, which means it will not change the image ratio / the height is ignored when smaller than the width * ratio. This I take is explicitly requested when adding both width and height tags.

Quiz fix

it does not show which answer I have chosen before closing it

@broesmel is there a markup guide where I can change the json file?

Clarify productive infrastructure

Based on the tech stack defined in issue #12 a productive infrastructure must be created. The infrastructure must provide the following services:

  • Postgres as a service: for the persistent storage of the backend data and the link shortner

  • App Service: for the runtime of both the front- and backend and the link shortner

  • CDN: something which is supported by strapi

  • What is the current state of the evolution? -> currently the PBS Betriebsplattform project is not ready and therefore productive workload cannot be migrated.

  • Where are all the other PBS being moved (away from heroku to ?) -> all of the apps have individual solutions and are not required to be migrated before the PBS Betriebsplattformformen project is concluded

  • Challenge productive infrastructure with IT-Kom

  • Clarification with PBS to temporally host Thilo within the Azure Infrastructure of the PBS. In clarification at the PBS

  • Deploy to PBS Betriebsplattform

Advertising Thilo App and Thilo Stack

Thilo App

  • Marketing on Social Media

Thilo Tech Stack

  • Contact Pfadi Gloggi: erneut angefragt
  • Cudesch Digital: Austausch mit Scattle durchgeführt, Requirements noch nicht klar. Höck am 21.11

Upgrade free tier of cloudinary

Within Strapi the Media Library is hosted on Cloudinary. Currently we are using the free-tier which is coming with certain limitations. Within the free-tier 25-credits are available per month.

A credit can be used either for 1,000 Transformations OR 1 GB Storage OR 1 GB Bandwidth.

Abo Credits / Month Users Product  Price / Month
Plus 225 3 2 $99
Advanced 600 5 3 $249
Advanced Extra 1,350 5 5 $549
  • What are the current usage of the hering?
  • Should we use a PBS wide unique CDN for all applications?
  • What are the traffic estiamtes for Thilo? (till the end of the year only a limit number of people will be using the web app for testing and development)

Move Iconography into Strapi

Extract .png or .svg (from the .ai file) and upload them to Strapi, adding them to the respective sections to the icon entry.

That way I can dynamically load them in the front end and not hard-code them.

thilo_icons.zip

Floating UI rework

  • header always collapsible
  • button instead of header
  • sidebar floating
  • floating footer with max width, subtle
  • floating list buttons, use chapter icons
  • content inside the floating is flat
  • color and highlight color generation
  • colorize bullet points
  • colorized table lines
  • any highlighted text should be secondary color
  • figure out search button / styling - look github for inspo, no border, no shadow, content 'Kapitel durchsuchen'...
  • style scrollbars consistenly
  • move footer largely inside the sidebar, except for page next buttons

No content shown when browser language is "en"

My web browser is set to English. When I load https://scout-ch.github.io/thilo, I get the following page:

Screenshot from 2023-09-09 12-21-04

I would imagine the same happens for any language other than the available de, fr or it. In the website menu, none of the available languages is selected. Thilo probably needs some proper fallback logic in case the browser language is not available as application language.

(Note: Once I select a locale in the website menu, I automatically get back to this locale on later reloads. But the problem can be reproduced in a new private window.)

Design issues

Footer placement properly!
next/prev button fixed size

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.