Skip to content

A studying web app which generates questions for users for reading material using AI.

Notifications You must be signed in to change notification settings

Ramko9999/Recap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A studying web app which generates questions & summarize reading material for users using NLP (Work in Progress Lol).

Frontend: React + TypeScript Backend: - (REST Api) Gin-Gonic + Go - (NLP Consumer) Python - (Message Queue) RabbitMQ - (Database) Postgres

Prerequisites

React Client

  1. Learn TypeScript

  2. Make sure you get the firebase & http credentials from Ramko9999

Gin Server

  1. Install Go

  2. Install Docker Desktop

  3. Learn & Set up Docker

  4. Install Docker Postgres Image

  5. Install Docker RabbitMQ Image

docker pull postgres

docker pull rabbitmq
  1. Create a .env file in ./server. Put a password for the Postgres instance as follows in the .env file:
PASSWORD=...
  1. Run the docker-compose.yaml file from ./server
docker compose up -d

docker ps # verify containers are running
  1. Go into postgres container with the following command and create 2 databases (recap_db & recap_db_test)
docker exec -it <postgres-container-id> psql -U postgres
postgres=# CREATE DATABASE recap_db;

postgres=# CREATE DATABASE recap_db_test;

recap_db will be the local development database and recap_db_test will be database when running tests.

GORM will take care of creating schema.

Create a .env file in ./server/gin. This file will contain the Postgres instance credentials. Here is what should be in it:

PORT=...
HOST=...
NAME=recap_db
USER=...
PASSWORD=...
SSL_MODE=disable


TEST_PORT=...
TEST_HOST=...
TEST_NAME=recap_db_test
TEST_USER=...
TEST_PASSWORD=...
TEST_SSL_MODE=disable

  1. Ensure you have firebase.json (firebase project credentials)

Running the application components together

Simply run npm start from root directory.

Running the application components separately

React Client

Navigate into ./client and run npm start

Gin Server

Navigate into ./server/gin and run go run main.go

Running application tests

React Client

Don't have testing setup yet

Gin Server

Navigate into ./server/gin and run go test or for more verbosity go test -v

About

A studying web app which generates questions for users for reading material using AI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published