shikshalokam / ml-survey-service

MIT License
1 stars 11 forks source link

ml-survey-service

This is ml-survey-services, the managed-learn component responsible for creating observation and surveys within the managed learn services.

Setup Guide

Pre-Requisite

Basic understanding of git and github is recommended.

Setup ml-survey-services

Clone the service repository onto your system

Git link

https://github.com/shikshalokam/ml-survey-service.git

command to clone

git clone https://github.com/shikshalokam/ml-survey-service.git

Create .env file

Create a file named .env and copy the environment-specific data corresponding to that service into the .env file.

ML Survey Service Config

APPLICATION_PORT = 3000                                                         // Application port number
APPLICATION_ENV = 'development'                                                 // Application running enviornment

# Setting for custom request timeout for reports
MONGODB_URL = mongodb://localhost:27017/sl-assessment                           // Mongodb connection url
USER_SERVICE_URL = "http://user-service:3000"                                   // Base url of the sunbird enviornment
INTERNAL_ACCESS_TOKEN = "Internal access token to access reports"               // Internal access token for accessing Admin specific APIs

# Kafka Configuration
KAFKA_COMMUNICATIONS_ON_OFF = "ON/OFF"                                          // Kafka enable or disable communication flag
KAFKA_URL = "100.0.0.1:9092"                                                    // IP address of kafka server with port without HTTP
SUBMISSION_RATING_QUEUE_TOPIC = "dev.sl.submission.rating.raw"                                // Kafka topic name for pushing submissions for which rating has to be done.
COMPLETED_SURVEY_SUBMISSION_TOPIC = "dev.sl.survey.raw"                            // Kafka topic name for completed survey submission
INCOMPLETE_SURVEY_SUBMISSION_TOPIC = "dev.sl.incomplete.survey.raw"                           // Kafka topic name for incomplete survey submission
KAFKA_GROUP_ID = "survey"                                                       // Kafka consumer group for ML Survey Service
IMPROVEMENT_PROJECT_SUBMISSION_TOPIC = "dev.sl.improvement.project.submission"                                       // Kafka topic name for pushing project submission related data
OBSERVATION_SUBMISSION_TOPIC = "dev.sl.observation.raw"                         // Kafka topic name for pushing observation submission

# ML Core Service
ML_CORE_SERVICE_URL = "http://ml-core-service:3000"                             // ML Core Service URL

# IMPROVEMENT PROJECT SERVICE
ML_PROJECT_SERVICE_URL = "http://ml-project-service:3000"                       // Project Service URL

KEYCLOAK_PUBLIC_KEY_PATH = "keycloak-public-keys"                               // Keycloak public keys path

DISABLE_LEARNER_SERVICE_ON_OFF = "ON"                                          // Disable learner service check

FORM_SERVICE_URL = "http://player:3000"                                         // Base url for form search

Install Dependencies

To install dependencies from a package.json file in Visual Studio Code, you can use the integrated terminal. Here are the steps:

Setting the keycloak

for keycloak file please contact Backend Team

Setup Database

Before proceeding with these steps, ensure that you have MongoDB installed on your computer. For a graphical user interface (GUI) for MongoDB, you can choose to install Robo 3T.

Note: Add <name you want to give the db> to mongoDB url in .env file.

DB Schema

The schema serves as a blueprint for creating and maintaining the database that supports the ML survey services data storage and retrieval operations.

ML-Survey Service

Click here for DB schema and corresponding examples in a PDF format.

Postman Collection

The ML Survey Service Postman Collection is a comprehensive resource for interacting with the ML Core Service. It includes organized endpoints, detailed documentation, and example workflows, providing a valuable reference for developers. Leverage this collection to enhance productivity and collaboration in ML Services.

Click here

IMPORTANT:

Always work on branches. Never make changes to master.

Creating a branch from master.

For more information on git you can use :
https://education.github.com/git-cheat-sheet-education.pdf