Crowd-source questions for a meetup. Questioner helps the meetup organizer prioritize questions to be answered.
The project is managed using Pivotal Tracker. You can view the board here.
The repo for the frontend is available at Questioner
Website is hosted on Questioner
Project API demo is hosted on Heroku
- Clone the repo
$ git clone https://github.com/tirgei/Questioner-API.git
- CD into the folder
$ cd Questioner-API
- Create a virtual environment
$ python3 -m venv env
- Activate the virtual environment
$ source env/bin/activate
- Install dependencies
$ pip install -r requirements.txt
- Set the environment variables
$ mv .env.example .env
$ source .env
- Run the app
$ python run.py or flask run
- Testing
$ pytest --cov=app
HTTP METHOD | URI | ACTION |
---|---|---|
POST | /api/v1/register |
Register a new user |
POST | /api/v1/login |
Login a user |
POST | /api/v1/refresh-token |
Refresh access token |
POST | /api/v1/logout |
Logout a user |
POST | /api/v1/meetups |
Create a meetup |
GET | /api/v1/meetups |
Fetch all meetups |
GET | /api/v1/meetups/upcoming |
Fetch all upcoming meetups |
GET | /api/v1/meetups/<int:meetup_id> |
Fetch a specific meetup |
POST | /api/v1/<int:meetup_id>/<string:rsvp> |
RSVP to a meetup |
DELETE | /api/v1/meetups/<int:meetup_id> |
Delete a meetup |
POST | /api/v1/questions |
Post a question to a specific meetup |
PATCH | /api/v1/questions/<int:question_id>/upvote |
Upvote a question |
PATCH | /api/v1/questions/<int:question_id>/downvote |
Downvote a question |
GET | /api/v1/meetups/<int:meetup_id>/question |
Fetch all questions for a meetup |
POST | /api/v1/questions/<int:question_id/comments |
Post a comment to a question |
GET | /api/v1/questions/<int:question_id>/comments |
Fetch all comments for a question |
Vincent Kiptirgei - Tirgei