Title: Implement backend based on the new designated API and data
Author: M Haidar Hanif
Affiliation: Michi
Date: 2016-04-19
Version: 0.1
SOW
Overview
Implement the most important backend features based on the new designated API endpoints and data schema/structures. Should prove the data process are working correctly in the app.
Tasks
[x] Make all the data collection as services, can be accessed internally or externally.
[x] Data storage especially authentication is using JWT (JavaScript Web Token) and database (NeDB).
User
[x] Implement user authentication via POST /auth.
[x] Visitor can sign up and sign in locally via POST /signup and /auth/local.
[x] User is able to have a username and password as credentials.
[x] User credentials that already set by users are stored in database (in the server at ~/app/data).
Get all questions
[x] User can see all the public questions/threads.
Below are the functionalities when a user is authenticated
Post a question
[x] User can ask a question method via POST /questions.
[x] Questions that already posted by users are stored and listed.
Answer a question
[x] Other user is able to answer/comment a question/thread via POST /questions/:id/answers.
[x] Answers that already be given by other users are stored and listed inside the questions collection.
SOW
Overview
Implement the most important backend features based on the new designated API endpoints and data schema/structures. Should prove the data process are working correctly in the app.
Tasks
User
/auth
./signup
and/auth/local
.~/app/data
).Get all questions
Below are the functionalities when a user is authenticated
Post a question
/questions
.Answer a question
/questions/:id/answers
.Deliverables
Dependencies
Understand the basic features (https://github.com/gunadarma-academy/asde-michi/issues/9) and the initial data structures (https://github.com/gunadarma-academy/asde-michi/issues/10). Coupled with Test backend app (https://github.com/gunadarma-academy/asde-michi/issues/54).
Assumptions/Inspirations
This basically makes the app functionally correct.