An application that extracts and reads data from a timetable and sends push notifications to user to attend scheduled classes.
- 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
- Language - Go
- Framework - Fiber
- ORM - Gorm
- CLI framework - urfave/cli
- JWT - golang-jwt
- Download and install Docker and Docker compose
- Get Google Oauth2 Credentials JSON file for a web application
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:3000DEBUG- Set totruefor local environment,falsefor production environmentPOSTGRES_URL- Set topostgres://<POSTGRES_USER>:<POSTGRES_PASSWORD>@postgres:<POSTGRES_PORT>/<POSTGRES_DB>POSTGRES_USER- Username for postgres databasePOSTGRES_PASSWORD- Password for postgres databasePOSTGRES_DB- Name of the postgres databasePOSTGRES_HOST- Hostname for postgres database, default value ispostgresPOSTGRES_PORT- Port for postgres database, default value is5432OAUTH_CALLBACK_URL- Callback URL for Google Oauth2,http://<backend-url>/api/auth/google/callbackJWT_SECRET- JWT secret key that will be used to sign the tokens
Use the following command to run the application -
./vitty.sh upvitty.bat upUse the following command to stop the application -
./vitty.sh downvitty.bat downUse the following command to run the CLI application -
./vitty.sh cli <command>vitty.bat cli <command>NOTE: Replace script file names with
.vitty-local.shand.vitty-local.batfor local environment
Postman API documentation - Vitty API
| Dhruv Shah |
Made with ❤️ by DSC VIT