Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 2.05 KB

README.md

File metadata and controls

67 lines (47 loc) · 2.05 KB

superlit-backend

Backend For Superlit, Written In Go

Setup using Docker

  1. populate the .env file. a template is provided in .env.example. This project also requires a google cloud service account with google sheets API enabled. You can contact me for obtaining this google sheets key, or create your own service account. note: everything in the .env file is a secret and are not supposed to be shared.

  2. Clone the frontend and place it adjacent to this directory:

project-root/
├── superlit-backend/
│   ├── Dockerfile
│   ├── docker-compose.yml
│   └── ... (other backend files)
├── superlit-frontend/
│   ├── Dockerfile
│   ├── package.json
│   ├── package-lock.json
│   ├── src/
│   │   └── ... (frontend source files)
│   ├── nginx/
│   │   └── nginx.conf
│   └── ... (other frontend files)

Note: make sure to populate .env in the frontend repository as well

  1. Run docker-compose up

  2. You'll find the website running on http://localhost

Setup Without Docker

  1. Install golang
  2. Run the following to install all dependencies
go mod tidy
  1. populate the .env file. a template is provided in .env.example

note: everything in the .env file and the private key are a secret and are not supposed to be shared.

  1. You can run using:
go run main.go

Commit Conventions

Future

Here are the features planned to be implemented in the future:

  1. The teacher must be able to access a list of students who are in the classroom but did not submit a particular assignment
  2. Migrate to Postgress from sqlite
  3. Implement passkeys for authentication
  4. Explore docker for code sandboxing instead of firejail since firejail only works on linux
  5. Regex for username matching. This regex must be supplied as an environment variable
  6. Feel free to raise issues of your own :)