Questioner is an app that crowd-sources questions for meetups. It allows meetup organizers to prioritize the questions to be answered. Users of this platform can upvote or downvote a question. The questions however, are ranked according to their votes.
The template for the front end application can be found here UI Template
The main application is hosted here Questioner
Technologies used in building this project
- Node
- Express
- Gulp for scripts automation
- PostgreSQL
- TravisCI
- JenkinsCI
- Docker
- Code Climate
- Coveralls
- Mocha, Chai and Chai-Http for integration testing
- Sinon for unit testing
- AWS RDS
- Cloudinary
- Heroku and AWS Elastic Beanstalk
Getting Started
npm install npm start npm testThe Pivotal Tracker Story link can be found here PT stories
The documentation to this API can be found here API Documentation
Endpoints
A user can register so as to access to certain pages of the application by providing their username, email, and password while also confirming the provided password
The endpoint used here is POST api/v1/auth/signup
An already registered user can log into the Questioner application by just providing the correct email and password.
The endpoint used here is GET api/v1/auth/signin
A user can reset their password by sending their email, email is verified and user is allowed to reset their password. An existing user can view all available meetups on the Questioner application.
The endpoint for this is GET api/v1/meetups
A user can view all information about a particular endpoint.
The endpoint used here is api/v1/meetups/:id
An existing user should be able to ask questions about an upcoming meetup. The endpoint used here is api/v1/questions
An existing user can view a particular question that has been posted by either them or another user. The endpoint used here is api/v1/questions/:id
An existing user can view all questions that users have asked concerning a specific meetup. The endpoint here is api/v1/meetups/:id/questions
An existing user can upvote a particular question. The endpoint used here is api/v1/questions/:questionId/upvote.
An existing user can downvote a particular question. The endpoint used here is api/v1/questions/:questionId/downvote.
An existing user should be able to reset their password if they cannot remember it. The endpoint used here is api/v1/auth/resetpassword.
An existing user can rsvp an upcoming meetup by stating either yes, no or maybe. The endpoint used here is api/v1/meetup/:meetupId/rsvp.
An existing user can make a comment on a user's question under a meetup record. The endpoint used here is api/v1/questions/:questionId.
An admin can post a meetup record for users view and use. The endpoint used here is api/v1/meetups.
An admin can delete a meetup record, perhaps any meetup that has expired. The endpoint used here is api/v1/meetups/:meetupId.
An admin can add images to a meetup record. The endpoint used here is api/v1/meetups/:meetupId.
An admin can add tags to a meetup record. The endpoint used here is api/v1/meetups/:meetupId.