Skip to content

cosmos-ummc/comet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Submissions

Link to the demonstration video

Link to the presentation slides

Link to the user manual

Link to the Psychologist / Staff / Admin Login Page

Link to The Users(Client) Login Page

Link to our humanized chat bot

Link to the DASS-21 Original Question Sets

Link to the IES-R Original Question Sets

Link to the Backend Main Service GitHub Repo

Link to the Client Website GitHub Repo

Link to the Admin Dashboard GitHub Repo

Link to the Backend Chat Service GitHub Repo

Link to the Telegram Chat Bot GitHub Repo

Instructions

This repository is for the main backend services. It covers most of the logic and exposes the APIs for the client websites as well as chat bot to operate. The service is written in Golang, communicated via REST API that is routed to the gRPC handlers. There are several modules included:

  • Admin module

This module is used to manage the admins.

  • User module

This module is used to manage the users. It includes the APIs for report submission from the chat bot, verification in the main client website, and all other user associated features. It also provides several variants of queries to allow visualization of the graphs in the front end sites.

  • Report module

This module is used to manage the user reports. The reports include the DASS, IES-R and daily reports. All of the reports received will then be processed to calculate the scoring here based on the standard validated mental health scoring scheme.

  • Meeting module

This module is to manage the meetings and their status. When a user created a new meeting, a random consultant will be selected based on availability automatically.

  • Chat module This module includes the management of anonymous user chat rooms and messages. It covers from the identification of similar users to the creation of chat room, messages event emitters, and to the blocking features (Block users whom I don't like)

  • Customized contents module This module offers a dynamic selection of health feeds based on the users' mental status by analysing the reports submitted.

  • Useful health information module This module provides a set of useful health information for the users such as the health tips, health feeds, games and meditations. The bank of contents is managed in the admin dashboard by the superuser.

  • Scheduler module This module toggles a scheduler to emit daily messages and reminders to the users.

Project Setup

  • To run the server, first, setup the Golang version 1.13.

  • Install MongoDB database server.

  • Next, clone the repository.

  • cd to the project directory and run go build . to install the dependencies.

  • add the environment variables as follows:

MONGODB_URL=<MongoDB URL>
ACCESS_SECRET=<Your JWT access secret>
REFRESH_SECRET=<Your JWT refresh secret>>
BOT_TOKEN=<Your Telegram bot token>
  • run ./main to start the service locally.

Releases

No releases published

Packages

No packages published

Languages