Many online games and competitions like various CTFs or events like Enigma have something in common and that is a simple Question and Answer model that the main backend service is made to handle. Questioner is this common Question and Answer backend service that can be easily used to host such an online event. This would help the team focus more on structuring questions, investing more time in frontend and other aspects of the event.
- Go Lang
- Mongo Atlas Database
- Gorilla Mux
- godotenv
- jwt-go
Make sure you have go installed
For local development
git clone https://github.com/sarthakpranesh/Questioner
cd Questioner
- create a
.env
file and add the following contenthere theMONGO_URL = "<your mongo cluster connection URL>" ADMIN_PASSWORD = "<your admin password>" PORT = "<your port number>"
ADMIN_PASSWORD
is used as an key to authenticate creation and deletion of questions go mod tidy
go run main.go
- you'll have to restart the server each time you make a change to see its affect
For hosting their is a docker file included in the project that can be easily used to build and host a docker image of the project.
The End Points are tested and documented using Postman and the collection can be accessed from link below
If you find any bug, vulnerability, or have any feature suggestion please feel free to open an Issue here