Skip to content

TheSilentSage/vitty-backend

 
 

Repository files navigation

DSC VIT

Vitty Backend

An application that extracts and reads data from a timetable and sends push notifications to user to attend scheduled classes.


Join Us Discord Chat

UI

Table of Contents


Key Features

  • User Authenitication using Google Oauth2
  • Timetable detection from VTOP timetable page text
  • Add and remove friends using friend requests
  • User search to friend other users
  • Display friends' timetable
  • Show mutual friends
  • Friend suggestions based on mutual friends
  • CLI application to manage the web api


Tech Stack and Dependencies

Deployment

Oauth2

Web API

Database



Setting-up and Installation

Prerequisites

Configure the environment variables

Configure the env files present in /vitty-backend-api/.env/
For local environment use .local and for production use .production

Following environment variables need to be configured -

  • FIBER_PORT - Value of port used by the web api in the form :<PORT>, default value is :3000
  • DEBUG - Set to true for local environment, false for production environment
  • POSTGRES_URL - Set to postgres://<POSTGRES_USER>:<POSTGRES_PASSWORD>@postgres:<POSTGRES_PORT>/<POSTGRES_DB>
  • POSTGRES_USER - Username for postgres database
  • POSTGRES_PASSWORD - Password for postgres database
  • POSTGRES_DB - Name of the postgres database
  • POSTGRES_HOST - Hostname for postgres database, default value is postgres
  • POSTGRES_PORT - Port for postgres database, default value is 5432
  • OAUTH_CALLBACK_URL - Callback URL for Google Oauth2, http://<backend-url>/api/auth/google/callback
  • JWT_SECRET - JWT secret key that will be used to sign the tokens


Usage

Running the application

Use the following command to run the application -

MacOS and Linux

./vitty.sh up

Windows

vitty.bat up

Stopping the application

Use the following command to stop the application -

MacOS and Linux

./vitty.sh down

Windows

vitty.bat down

Using management commands of the CLI application

Use the following command to run the CLI application -

MacOS and Linux

./vitty.sh cli <command>

Windows

vitty.bat cli <command>

NOTE: Replace script file names with .vitty-local.sh and .vitty-local.bat for local environment



API Documentation

Postman API documentation - Vitty API



Developer

Dhruv Shah

Dhruv Shah

GitHub LinkedIn

Made with ❤️ by DSC VIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 88.9%
  • HTML 3.9%
  • Shell 3.5%
  • Batchfile 2.5%
  • Other 1.2%