https://github.com/sarthakpranesh/questioner
The Questioner is a simple and generic REST API that can be used to develop a Question and Answer game with custom auth or OAuth ( created under #100DaysOfCode challenge )
https://github.com/sarthakpranesh/questioner
100daysofcode game golang mongodb questioner rest-api
Last synced: about 1 month ago
JSON representation
The Questioner is a simple and generic REST API that can be used to develop a Question and Answer game with custom auth or OAuth ( created under #100DaysOfCode challenge )
- Host: GitHub
- URL: https://github.com/sarthakpranesh/questioner
- Owner: sarthakpranesh
- License: mit
- Created: 2020-09-14T05:35:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-24T15:59:50.000Z (over 5 years ago)
- Last Synced: 2025-01-09T17:54:04.730Z (over 1 year ago)
- Topics: 100daysofcode, game, golang, mongodb, questioner, rest-api
- Language: Go
- Homepage:
- Size: 42 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Questioner

[](https://github.com/sarthakpranesh/Questioner/issues)
[](https://github.com/sarthakpranesh/Questioner/pulls)
[](https://github.com/sarthakpranesh/Questioner/stargazers)

## Introduction
Many online games and competitions like various CTFs or events like [Enigma](https://github.com/IEEE-VIT/enigma6) 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.
## Technologies Used
- Go Lang
- Mongo Atlas Database
- Gorilla Mux
- godotenv
- jwt-go
## For Developers
Make sure you have go installed
For local development
1. `git clone https://github.com/sarthakpranesh/Questioner`
2. `cd Questioner`
3. create a `.env` file and add the following content
```
MONGO_URL = ""
ADMIN_PASSWORD = ""
PORT = ""
```
here the `ADMIN_PASSWORD` is used as an key to authenticate creation and deletion of questions
3. `go mod tidy`
4. `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.
## Documentation
The End Points are tested and documented using Postman and the collection can be accessed from link below
[](https://documenter.getpostman.com/view/7649159/TVKFzFn6)
## Found Something Broken
If you find any bug, vulnerability, or have any feature suggestion please feel free to open an Issue [here](https://github.com/sarthakpranesh/Questioner/issues)
##### Made with ❤️