integreat-app
integreat-app copied to clipboard
React JS and React Native App for Integreat
integreat-app
React JS and React Native App for Integreat, Malte and Aschaffenburg.
Contents
- Contributing
- Project Structure
-
Getting Started
- Prerequisites
- Project setup
- Further Reading
Contributing
You can contribute by:
- Creating Pull requests
- Reporting bugs
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:
- :+1: or
:+1:
This is great! It always feels good when somebody likes your work. Show them! - :question: or
:question:
I have a question / can you clarify? - :x: or
:x:
This has to change. It’s possibly an error or strongly violates existing conventions. - :wrench: or
:wrench:
This is a well-meant suggestion. Take it or leave it. - :upside_down_face: or
:upside_down_face:
This is a nitpick. Normally related to a small formatting or stylizing detail that shouldn’t block moving forward. - :thought_balloon: 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. - :clown_face: 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
- Rate our apps in the PlayStore and the Apple App Store.
- Install nodejs v16 LTS.
- Install classic yarn.
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.