# README
superlit-backend
Backend For Superlit, Written In Go
Setup using Docker
-
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. -
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
-
Run
docker-compose up
-
You'll find the website running on
http://localhost
Setup Without Docker
- Install golang
- Run the following to install all dependencies
go mod tidy
- 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.
- You can run using:
go run main.go
Commit Conventions
- Follow conventionalcommits.org
Future
Here are the features planned to be implemented in the future:
- The teacher must be able to access a list of students who are in the classroom but did not submit a particular assignment
- Migrate to Postgress from sqlite
- Implement passkeys for authentication
- Explore docker for code sandboxing instead of firejail since firejail only works on linux
- Regex for username matching. This regex must be supplied as an environment variable
- Feel free to raise issues of your own :)
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author