Workspace Setup - Playbook

Developer Environment Setup - Playbook

Software Prerequisites

Optional software

Other tools used

Source Code references

Open Terminal and clone source code git clone https://github.com/Sunbird-Saral/Project-Saral.git.

For latest repo refer Source Code Repository

Change Directory to Project-Saral/ folder and switch to release tag as per release notes. git checkout tags/<tag_name>

$FRONTEND_FOLDER = Project-Saral/v1.0/frontend

$BACKEND_FOLDER = Project-Saral/v1.0/backend

Frontend Setup

  • Setting up the React Native development environment Note: Choose React Native CLI Quick Start tab for setup instructions.

  • Download NDK 20.0.5594570 and extract archive to $ANDROID_HOME\ndk folder.

  • In Android Studio, navigate to File\Project Structure\SDK Location and set Android NDK location to $ANDROID_HOME\ndk\android-ndk-r20 (extracted in the last step).

  • Make sure sdk.dir paths are set properly in $FRONTEND_FOLDER\SaralApp\android\local.properties.

  • Register on Google Firebase, add the Saral project on the firebase dashboard and download the corresponding google-services.json.

  • Place downloaded google-services.json under $FRONTEND_FOLDER/SaralApp/android/app folder.

  • Once Vysor and AVD are configured as per the instructions, follow the below steps to bring up the application.

  • Open a terminal in $FRONTEND_FOLDER/SaralApp and run npm i the command.

  • cd android && ./gradlew clean && cd ..

  • npx react-native run-android

  • Make sure backend BASE_URL is configured in $FRONTEND_FOLDER/SaralApp/src/configs/config.js file.

  • Successful frontend deployment should show Saral OCR login screen on AVD or USB connected Android device.

Backend Setup

  • Install node and MongoDB in your local machine.

  • From Saral release v1.5.4 and above, please execute below commands from $BACKEND_FOLDER in a terminal.

cp ../../specs/v1.5/swagger-saral-maintenance.yaml ./src

cp ../../specs/v1.5/swagger-saral-frontend.yaml ./src

cp ../../specs/v1.5/swagger-saral-apidoc.yaml ./src

  • Install npm packages by running npm i from $BACKEND_FOLDER.

  • Create a subfolder inside the backend folder name it as configuration.

  • Now create a file in config\dev.env and paste the below commands

PORT=3000

MONGODB_URL=mongodb://localhost:27017/saraldata_dev

JWT_SECRET=SARALDATA_NODE

  • Run npm run dev command from a terminal in $BACKEND_FOLDER.

  • Successful backend local deployment should show Server is up on port 3000

Backend DevOps

Dockerfile is available under $BACKEND_FOLDER folder.

Build docker image using docker build . -t saral-backend:1.0-latest the command from $BACKEND_FOLDER folder in a Terminal.

Docker swarm stack reference file available at $BACKEND_FOLDER/saralbackend-stack.yml

Docker-compose reference file available at $BACKEND_FOLDER/docker-compose.yml

Backend Data Load

  • Make sure the backend server is running

  • Command to delete/clean existing data:

    node ./data/import-data.js --delete

  • Command to load data from data files in ./backend/data folder.

    node ./data/import-data.js --import

Useful Developer Tools

https://www.npmjs.com/package/react-devtools Note: For the current version of Saral execute npm i -g react-devtools@"<4.11.0"

Last updated