Setting up development environment

Follow these steps before developing on Remède.

Setting up Ionic framework

Remède uses Ionic. You will install npm dependencies and requirements to start developing with Ionic.

  1. Make sure you have node 18 installed.
  2. Move to the app/ folder
  3. Install dependencies
    npm install
    
  4. Install Ionic
    npm install -g @ionic/cli
    

Setting up mobile development - Android

Ionic framework let us build Remède for native platforms with Capacitor.

Developing for Android does not need special requirements. Just install npm dependencies.

See Capacitor documentation for more information.

Make sure you have Android Studio installed.

Setting up mobile development - iOS

Ionic Framework let us build Remède for iOS.

We do not build Remède for iOs yet. Follow the official Ionic documentation.

Remède has not been tested yet on iOS ! Build and use it at your own risks…

Setting up API development

Remède has a public API written with FastAPI.

  1. Make sure you have Python 3 installed.
  2. Install dependencies
    pip install -r requirements.txt
    
  3. Fetch database so the API can serve it

Fetch database

Remède latest database is not served by git because it is too large… We host our database on our own servers.

To fetch the latest database, you can use curl or wget as you prefer…

Execute these commands at project root.

If you want to serve API, you will need data/remede.db, data/remede.legacy.db and data/remede.en.db. You can create empty files (to prevent errors) or download them as following, using the variants query parameters remede.legacy, remede.en.

  • With curl
    curl -o data/remede.db https://api-remede.camarm.fr/download?variant=remede
    
  • With wget
    wget -O data/remede.db https://api-remede.camarm.fr/download?variant=remede
    

Remède used to store its databases on Github LFS servers but our quota has been exceeded… The databases which are still stored in git lfs are outdated.

Git submodules

Remède includes external projects to its codebase using git submodules…

To fetch or update the git submodules, just pull the distant repository inside the submodule’s directory:

For example :

cd api-definition && git pull origin main

If you are pulling the submodules for the first time, you must execute

git submodule update --init --recursive

Lists of submodules :