Skip to content

digitalfabrik/integreat-app

Repository files navigation

Integreat

GitHub license versioning CircleCI Status Maintainability Test Coverage

integreat-app

React JS and React Native App for Integreat, Malte and Aschaffenburg.

Contents

Contributing

You can contribute by:

If you want to know more about Integreat or if you want to join us, contact Leandra, Steffen or our info mail and visit our website.

We use this emoji code for reviewing:

  • 👍 or :+1: This is great! It always feels good when somebody likes your work. Show them!
  • ❓ or :question: I have a question / can you clarify?
  • ❌ or :x: This has to change. It’s possibly an error or strongly violates existing conventions.
  • 🔧 or :wrench: This is a well-meant suggestion. Take it or leave it.
  • 🙃 or :upside_down_face: This is a nitpick. Normally related to a small formatting or stylizing detail that shouldn’t block moving forward.
  • 💭 or :thought_balloon: I’m just thinking out loud here. Something doesn’t necessarily have to change, but I want to make sure to share my thoughts.
  • 🤡 or :clown_face: This is a complaint about something with no obvious answer, not necessarily a problem originating from changes.

Project Structure

This is a monorepo and contains the following projects:

  • web: React JS webapp
  • native: React Native Android and iOS apps

Both projects are whitelabelled with different build configs.

There are also separate sub-projects used by both projects:

  • translations: Translated texts and utilities to manage them
  • shared: Contains common shared utilities, for example related to implementation of the endpoints (v3) of the integreat cms
  • build-configs: Configuration files to build different versions of the apps

Getting Started

Prerequisites

Project setup

We suggest IntelliJ IDEA Ultimate as IDE. JetBrains provides free licences for students. If you are using a different IDE like Visual Studio Code the steps might differ.

  • Import this project (VCS > Get from Version Control).
  • Open either the web or native directory separately in IntelliJ (File > Open).
  • Follow the steps mentioned in the web README or the native README.
  • [optional]: Enable Languages & Frameworks > JavaScript > Prettier > On Save to enable prettier autoformatting.

We are recommending to use either a Linux distribution or MacOS for development. If you want to develop on Windows anyway, follow the steps here or use the Windows Subsystem for Linux following the information here.

Further Reading

More information on both the webapp and the native app can be found in the web documentation and the native documentation. Documentation on CI/CD, contributing and our conventions can be found here.