Giter VIP home page Giter VIP logo

site's Introduction

Die Lernwerkstatt

Build Status LGTM Node Mongo PRs Welcome

Die Lernwerkstatt Logo

„Die Lernwerkstatt“ (Learning Workshop) is a space where learning is a collaborative, creative and self-determined activity. People of all ages are welcome to join us!

Development Setup

  1. Install node
  2. Install npm
  3. Create an .env file in site/ and ask a teammate for the required keys.
DB_HOST=XXX
FB_TOKEN=XXX
FB_PAGE_ID=XXX
  1. Install dependencies with npm install
  2. Run the development server with npm start

Changing the Bootstrap style

  1. Import /static/css/_variables.scss to Boostrap.build
  2. Change style.
  3. Export everything to /static/css folder.

Caching Events

We cache our Facebook events and blog entries from MongoDB every hour to speed up the site load time.

To invalidate the cache use /invalidate endpoint. It will refetch events and blog posts and redirect to the main page.

site's People

Contributors

alicegdj avatar cappyccino avatar danielstreif avatar dependabot-preview[bot] avatar dependabot[bot] avatar jarjan avatar merey90 avatar pheeria avatar starmaerker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

site's Issues

Downloadable files

Problem description:
The download links for the pdf documents "Satzung" and "Mitgliedsantrag" lead to strikingly. Right now they still work but we should move the files to another location to be independent of strikingly.

Suggested solution:
Upload the files on MongoDB or another location and change the link paths accordingly.

Enable `gzip` compression on server

Problem description:

Right now our server doesn't compress static files. Enabling gzip will reduce website size which is good for mobile devices.

Suggested solution:

Enable gzip compression either in express or on server level.

jQuery update went wrong

What you did:
Updated jQuery

Problem description:
None of the modals work - Calendar events, Hamburger menu, Team members

Suggested solution:

  • Revert jQuery version
  • Replace with our own implementation

Add Templates

  • Issue Template
  • Pull Request Template

For inspiration look here, to see how we are doing, look here

Default locale

Currently, default locale is properly set to de, but the texts are still shown in English.

Add Donation form

Code snippet from André:

<script type="text/javascript">
  /* Configure at https://www.betterplace.org/de/projects/74137-unterstutze-die-lernwerkstatt-lernen-und-lernen-lassen-e-v/manage/iframe_donation_form/new */
  var _bp_iframe        = _bp_iframe || {};
  _bp_iframe.project_id = 74137; /* REQUIRED */
  _bp_iframe.lang       = 'de'; /* Language of the form */
  _bp_iframe.width = 600; /* Custom iframe-tag-width, integer */
  _bp_iframe.color = 'fd7222'; /* Button and banderole color, hex without "#" */
  _bp_iframe.background_color = 'ffffff'; /* Background-color, hex without "#" */
  _bp_iframe.default_amount = 10; /* Donation-amount, integer 1-99 */
  _bp_iframe.recurring_interval = 'monthly'; /* Interval for recurring donations, string out of ["single", "monthly", "quarter_yearly", "half_yearly", "yearly"] */
  _bp_iframe.bottom_logo = true;
  (function() {
    var bp = document.createElement('script'); bp.type = 'text/javascript'; bp.async = true;
    bp.src = 'https://betterplace-assets.betterplace.org/assets/load_donation_iframe.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s);
  })();
</script>
<div id="betterplace_donation_iframe" style="background: transparent url('https://www.betterplace.org/assets/new_spinner.gif') 275px 20px no-repeat;"><strong><a href="https://www.betterplace.org/de/donate/platform/projects/74137-unterstutze-die-lernwerkstatt-lernen-und-lernen-lassen-e-v">Jetzt Spenden für „Unterstütze Die Lernwerkstatt - lernen und lernen lassen e.V. “ bei unserem Partner betterplace.org</a></strong></div>

Upload Jahresbericht

Hallihallo, wir würden uns freuen, wenn ihr noch den Jahresbericht (der aktuelle ist der von 2016/17, der folgende ist in Arbeit) auf die Webseite stellen könntet. Am liebsten unter "Werte" mit dem Vermerk "Hier findet ihr den Jahresbericht mit einer ausführlichen Beschreibung unserer Arbeit."

Use issues for Roadmap

Whenever creating a PR, please refer to the issue its related to by mentioning it in the PR description. This would also move the issue on the Roadmap when the PR is created, reviewed/approved and merged back. In order to notify others, that the particular PR is being worked on, please label the Issue taken, and assign yourself.

Language indicators

Current language indicators DE and EN are too similar at the first glance. We should make them more distinguishable. Maybe use flags instead? Maybe only show one option, removing the current one?

Create a sitemap

  • Create a sitemap
  • Add to robots.txt
  • Submit to Google Search Console

Add Max

Max entwickelt Visionen interkulturellen Lernens und interreligiöser Kommunikation. Ausgehend von der klassischen Bildung ist es ihm ein Hauptanliegen die Verwirklichung des sich bildenden Menschen in der Würde seiner eigenen Begabungen zu ermöglichen. Als Mathematikstudent baut er seine Kenntnisse mathematischer Zusammenhänge weiter aus und ist darauf bedacht, diese für den Entwurf von Problemlösungsstrategien einzusetzen. In der Lernbegleitung fördert er die Medienkompetenz von Schülern und unterstützt sie bei der Verfeinerung ihrer Arbeitsweisen und der Aneignung und Vertiefung umfangreicher Kenntnisse, die auch über die schulischen Themen hinaus gehen.

Privacy notice

We need a privacy notice (Urheberrecht und der Datenschutzerklärung), like on the Contact page, to be also present for a Subscribe page.
Furthermore, on the Support page, we also need a reference to the policies, as a bullet point number 4.

  1. "Hier findest du unsere Datenschutzerklärung, mit weiteren Informationen zum Umgang mit deinen Daten."

Increase the space between date and time for Calendar events

@jarjan @pheeria I didn't find a way to insert visible spaces between date and time yet. The whole thing is in one string which is created in facebook.js. However, multiple spaces will not be shown in a browser. Using CSS seems to be the best solution but I'm not exactly sure how to implement it. Here a related question and here our code:

const stringifyEventDate = eventDate => {
  let result = "";
  const start = moment.parseZone(eventDate.start_time);
  const end = moment.parseZone(eventDate.end_time);

  if (start.isSame(end, "day")) {
    result = `${start.format("DD.MM.YYYY")} ${start.format(
      "HH:mm"
    )} - ${end.format("HH:mm")}`;
  } else {
    result = `${start.format("DD.MM.YYYY")} ${start.format(
      "HH:mm"
    )} - ${end.format("DD.MM.YYYY")} ${end.format("HH:mm")}`;
  }
  return result;
};

Remove GitHub Actions

We are not really using them for now.
And they run multiple checks for nothing, repeating Travis functionality.

Awesome console message

Come up with a nicer console message. The current one also looks odd because of the formatter, which cut the background color.
Be inspired by some ASCII art :)
Maybe consider using Die Lernwerkstatt logo with Tiler?

humans.txt

Include our names/emails to humans.txt

First timer announcement modals

Problem description:

We, devs, want to notify users of any significant changes made to a website. Ideally, we want to also notify about coming i18n.

Suggested solution:

  1. Create a cookie for homepage which is set only within a certain time frame for a limited time.
  2. Insert some javascript which looks for a cookie on load, and if found, shows a modal.
  3. To make the functionality generic, the data about the cookie, its duration and the announcement title/description, could be written and read from an .env variable as a json string. This way, we could always announce new stuff by modifying Azure config, instead of changing the codebase.

Imprint

Apparently, every e.V. needs an Imprint/Impressum.

Here is the text:

Impressum

Die Lernwerkstatt - lernen und lernen lassen e.V.
Karl-Kunger-Str. 55
12435 Berlin
[email protected]
+49 176 87840154

Vertretungsberechtigter Vorstand des Vereins: André Brötz & Bianca Geburek
Amtsgericht Charlottenburg
VR 34225 B
Steuernr. : 27/658/52900
  • Add a new page
  • Place the link as the last item in Footer
  • i18n all of the text

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.