Skip to content
generated from metakgp/README.md

Search for question papers when the library can't save you.

License

Notifications You must be signed in to change notification settings

metakgp/iqps-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Contributors Forks Stargazers Issues MIT License Wiki


image

IQPS

Intelligent Question Paper Search
Website · Report Bug / Request Feature

Table of Contents

About The Project

IQPS is a platform for searching and uploading previous year question papers for IIT Kharagpur students. The frontend is deployed at https://qp.metakgp.org and the backend is hosted on a DigitalOcean droplet with 2GB RAM and a single CPU. See MetaPloy for the deployment architecture. IQPS was originally created by Shubham Mishra in python. You can find it here.

Note

Currently in active development. Get involved at our Slack.

Development

  1. Clone this repository.
  2. For starting the backend:
    • Change directory to backend cd backend
    • Make the env file by copying the template: cp .env.template .env
    • Fill the env variable and set DB_HOST=localhost for running locally for development
    • Start the DB by running docker compose -f docker-compose.dev.yaml up -d
    • Start the Go backend by running go run .
  3. Set up the frontend by running pnpm install and then pnpm start in the frontend/ directory.
  4. Profit.

Crawler

[WIP: Steps to locally set up crawler]

Deployment

Backend

  1. Set up MetaPloy for production.
  2. Clone this repository at a convenient location such as /deployments.
  3. cd backend/
  4. Set the appropriate production environment variables in the .env file.
  5. Run docker compose up to start the backend.
  6. Optionally set up a Systemd service to start the wiki on startup or use this deployment github workflow.

Environment Variables

Environment variables can be set using a .env file. Use the .env.template files for reference.

Backend

  • DB_PATH: Path to the database file to use.
  • STATIC_FILES_URL: The base URL for the static files (PDFs).
  • QPS_PATH: The local path on the server to store question paper PDFs.
  • DB_NAME: The name for your database.
  • DB_HOST: localhost if using local postgres server or set your own database host address.
  • DB_PORT: 5432 if using local postgres server, or set to your own database port.
  • DB_USER: The access username for database.
  • DB_PASSWORD: The access password corressponding to the user.

Frontend

  • VITE_BACKEND_URL: The IQPS backend URL. Use http://localhost:5000 in development.

Contact

📫 MetaKGP - Metakgp's slack invite Metakgp's email metakgp's Facebook metakgp's LinkedIn metakgp's Twitter metakgp's Instagram

Maintainer(s)

The currently active maintainer(s) of this project.

Creator(s)

Honoring the original creator(s) and ideator(s) of this project.

(back to top)

Additional documentation

(back to top)