Skip to content

anuragrao04/superlit-backend

Repository files navigation

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 :)

About

Backend For Superlit, Written In Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published