How-To Base URL: https://how-to-lifehack.herokuapp.com/
| Type | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /users/register | Register User | No |
| POST | /users/login | Login User | No |
| GET | /how-to/ | get all how-to's | No |
| GET | /how-to/:id | get how-to by id | No |
| GET | /how-to/user/:id | get how-to by user id | No |
| GET | /how-to/instructions/:id | get step by id | No |
| POST | /how-to | add new how-to | Yes |
| POST | /how-to/instructions | add new step for how-to | Yes |
| PUT | /how-to/:id | edit existing how-to | Yes |
| PUT | /how-to/instructions/:id | edit existing step | Yes |
| DELETE | /how-to/:id | remove how-to and steps | Yes |
{
"username": "string", required
"password": "string", required
"bio": "text block",
"email": "string",
"allowPost": "boolean" defaults to false
}
{
"id": "user id",
"message": "success message",
"username": "registered user name",
"bio": "user's bio description",
"email": "users email address",
"token": "authentication token",
"allowPost": "user access to post how-to"
}
{
"username": "user's registered user name", required
"password": "user's password" required
}
{
"id": "user id",
"message": "success message",
"username": "registered user name",
"bio": "user's bio description",
"email": "users email address",
"token": "authentication token",
"allowPost": "user access to post how-to"
}
[
{
"id": integer,
"title": "string",
"problem": "string",
"liked": integer,
"solution": "text",
"topic": "string",
"user_id": integer
}
]
{
"id": integer,
"title": "string",
"problem": "string",
"liked": integer,
"solution": "text",
"topic": "string",
"user_id": integer,
"instructions": [
{
"id": integer,
"step_number": integer,
"step_title": "string",
"description": "text",
"how_to_id": integer
}
]
}
[
{
"id": integer,
"title": "string",
"problem": "string",
"liked": integer,
"solution": "text",
"topic": "string",
"user_id": integer
}
]
{
"id": integer,
"step_number": integer,
"step_title": "string",
"description": "text",
"how_to_id": integer
}
{
"title": "string", required
"problem": "string", required
"solution": "text", required
"topic": "string",
"user_id": integer required
}
{
"id": integer,
"title": "string",
"problem": "string",
"liked": integer,
"solution": "text",
"topic": "string",
"user_id": integer,
"message": "string"
}
{
"step_number": integer, required
"step_title": "string", required
"description": "text", required
"how_to_id": integer, required
}
{
"id": integer,
"step_number": integer,
"step_title": "string",
"description": "text",
"how_to_id": integer,
"message": "string"
}
{
"title": "string", Edit any of these fields
"problem": "string",
"solution": "text",
"topic": "string"
}
{
"message": "string",
"updated": {
"id": integer,
"title": "string",
"problem": "string",
"liked": integer,
"solution": "text",
"topic": "string",
"user_id": integer
}
}
{
"step_number" : integer, Edit any of these fields
"step_title": "string",
"description": "text"
}
{
"message": "string",
"updated": [
{
"id": integer,
"step_number": integer,
"step_title": "string",
"description": "text",
"how_to_id": integer
}
]
}
{
"message": "successfully removed",
"response": 1
}
How-to How-to NAME How-to PITCH Have a life hack? Share it on how-to. Posts with the most likes/reviews/tried its will be at the top of the feed. Simplifying life for everyone. MVP
- An on-boarding process for a new general user (user that will consume the service)
- On-boarding process for user who wants to generate content (i.e. organize how-to tutorials)
- Ability to easily create / setup a how - to guide
- Ability to easily edit / delete an a how-to guide
- Ability to easily view/ search / find /filter how-to guides STRETCH Add the ability to add photos and/or videos to be uploaded with an API like cloudinary.
UX: Collaborate on a portion or all of a Web MVP with any Web teammate. For example: File structuring, Git, Styles, Semantic elements, etc. Learn something new and practice cross-collaborating.
UX: Write a blog post in medium about your visual design decisions for this project; share the link in your Google Doc.