Crowd-source questions for a meetup. Questioner helps the meetup organizer prioritize questions to be answered. Other users can vote on asked questions and they bubble to the top or bottom of the log.
Endpoint | Functionality | Route |
---|---|---|
POST /signup | Register new user | /api/v2/auth/signup |
POST /login | Login registered user | /api/v2/auth/login |
POST /reset | Reset password | /api/v2/auth/reset |
POST /meetups* | Create new meetup | /api/v2/meetups |
GET /meetups/meetup-id | Fetch specific meetup record | /api/v2/meetups/meetup-id |
GET /meetups/upcoming | Get all upcoming meetups | /api/v2/meetups/upcoming |
POST /meetups/meetup-id/questions | Post a new question on a meetup | /api/v2/meetups/meetup-id/questions |
PATCH /questions/question-id/upvote | Upvote a specific question | /api/v2/questions/question-id/upvote |
PATCH /questions/question-id/downvote | Downvote a specific question | /api/v2/questions/question-id/downvote |
POST /meetups/meetup-id/rsvps | Respond to meetup RSVP | /api/v2/meetups/meetup-id/rsvps |
Endpoints marked with * are only accessible to admin users
- Clone the repo
- Activate
virtualenv venv
and runpip3 install requirements.txt
export FLASK_APP=run.py
- Run
python3 -m flask run
- Use a Rest client to test the endpoints
- Pytest is used as the test client. In the project directory, run:
pytest -vv
to run the tests, orpytest -cov=/app
to see the coverage