https://yanna-howto.herokuapp.com/api/
Method Url: /api/auth/register
HTTP method: [POST]
name | type | required | description |
---|---|---|---|
username |
String | Yes | Must be unique |
email |
String | Yes | Must be unique |
password |
String | Yes | |
firstName |
String | Yes | |
lastName |
String | Yes |
example:
{
"username": "matt04",
"password": "password",
"firstName": "Matt",
"lastName": "Jones",
"email": "[email protected]"
}
If you successfully register a user the endpoint will return an HTTP response with a status code
201
and a body as below.
{
"message": "Registration successful",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Implbm55IiwicGFzc3dvcmQiOiIkMmEkMTEkME5UTXFlcGF1YmQ0eXU2Lk9obFZsLlU3NGNXUVdWMVBwd0d2WnVGNldBYXB3cDlCTkNMd0MiLCJmaXJzdE5hbWUiOiJKZW5ueSIsImxhc3ROYW1lIjoiTGkiLCJlbWFpbCI6Implbm55QGdtYWlsLmNvbSIsInBob25lIjo0MTU2MjY3Njg4LCJpYXQiOjE1NDkxNzA1MjMsImV4cCI6MTU0OTE3NDEyM30.jOxH0YlAABmP_W3BaF3TowhCKHP9hFkLcyw-P-dQE_M",
"userId": 7
}
Method Url: /api/auth/login
HTTP method: [POST]
name | type | required | description |
---|---|---|---|
username |
String | Yes | Must match an email in the database |
password |
String | Yes | Must match a password in the database corresponding to above username |
example:
{
username: "yannafaith",
password: "password"
}
If you successfully login, the endpoint will return an HTTP response with a status code
200
and a body as below.
{
"message": "Welcome back Matt Jones",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRvbW15IiwicGFzc3dvcmQiOiIkMmEkMTEkaDBMb3hsU0pTTWxzcXNVUVQ3ZHBRZUVXbGxrNXk2M2xKVC9BQy9kU0kvWERPdnFxaHNiUjYiLCJlbWFpbCI6InRvbW15QGdtYWlsLmNvbSIsInBob25lIjo1MTA0MDgyNTg3LCJpYXQiOjE1NDkzMDEyNDMsImV4cCI6MTU0OTMwNDg0M30.TXnqIh3moCBZX-FDK5kuUURkLZtWfxmIZO3IqQhlT50"
"userId": 7
}
Method Url: /api/users
HTTP method: [GET]
[
{
"id": 1,
"username": "tommy",
"password": "$2a$11$LQImXlHE7dt0RSD9gjuvBecaZMMKYuW.vGcWsi3YumGU25PwLiFM2",
"firstname": "Tommy",
"lastname": "Carr",
"email": "[email protected]",
"phone": 5104082587
},
{
"id": 2,
"username": "linda",
"password": "$2a$11$d6mtGCQJBekPkqHvyog7GuaE82AfjcXzytL3ELtR8Dc.ENBNu7i/a",
"firstname": "Linda",
"lastname": "La",
"email": "[email protected]",
"phone": 5102382227
},
{
"id": 3,
"username": "jimmy",
"password": "$2a$11$zXVFMlzrFfu9aYoJFOJCs.94KBfBvt3/BODdYaMWCj4ozs1EHj/Vy",
"firstname": "Jimmy",
"lastname": "Butler",
"email": "[email protected]",
"phone": 7072272555
}
]
Method Url: /api/posts
HTTP method: [GET]
[
{
"id": 1,
"title": "How to sign up for Lambda School",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
},
{
"id": 2,
"title": "How to Create a React App",
"body": "Dignissimos accusantium possimus mollitia. Sunt non enim nostrum repellat molestiae maxime voluptas. Natus et voluptatem quo. Id repellat praesentium ea esse molestiae distinctio atque. Consectetur voluptas sit nostrum at.\n \rDoloribus fugiat et. Est consequatur provident molestiae molestias explicabo possimus. Quia earum itaque. Ex quis sed et pariatur.\n \rMinus qui est impedit qui dicta et minus voluptatum. Aspernatur reiciendis animi aperiam nihil vero aut voluptas cum sapiente. Dicta velit laudantium minus itaque et ratione sed aut non.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
},
{
"id": 3,
"title": "How to train for 2 marathons",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
}
]
Method Url: /api/posts/:id
HTTP method: [GET]
{
"id": 3,
"title": "How to train for 2 marathons",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
}
Method Url: /api/posts
HTTP method: [POST]
name | type | required |
---|---|---|
creator_id |
Integer | Yes |
title |
String | Yes |
body |
Text | Yes |
example:
{
"title": "How to train for 2 marathons",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"creator_id": 1
}
{
"message": "post created!",
"posts": [
{
"id": 1,
"title": "How to sign up for Lambda School",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
},
{
"id": 2,
"title": "How to Create a React App",
"body": "Dignissimos accusantium possimus mollitia. Sunt non enim nostrum repellat molestiae maxime voluptas. Natus et voluptatem quo. Id repellat praesentium ea esse molestiae distinctio atque. Consectetur voluptas sit nostrum at.\n \rDoloribus fugiat et. Est consequatur provident molestiae molestias explicabo possimus. Quia earum itaque. Ex quis sed et pariatur.\n \rMinus qui est impedit qui dicta et minus voluptatum. Aspernatur reiciendis animi aperiam nihil vero aut voluptas cum sapiente. Dicta velit laudantium minus itaque et ratione sed aut non.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
},
{
"id": 3,
"title": "How to train for 2 marathons",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"created_at": "2019-03-12 17:54:29",
"updated_at": "2019-03-12 17:54:29",
"creator_id": 1
}
]
}
Method Url: /api/posts/:id
HTTP method: [PUT]
{
"message": "post: 'How to train for 5 marathons' has been updated",
"changes": {
"title": "How to train for marathons",
"body": "Quia et in placeat. Et quis cupiditate similique vel itaque explicabo. Minus id natus sint nihil sapiente qui sed id.\n \rDeleniti aperiam omnis a. Officiis voluptatem voluptatem optio ducimus earum. Saepe fugit dolorum aut maiores molestias qui.\n \rHic nostrum aliquid molestiae libero. Rerum eos consectetur aliquid. Voluptatem et eius deserunt quas autem nihil nesciunt eligendi. Dolorum modi ipsa dolor sunt velit esse consequatur sapiente. Doloribus id laborum animi vitae.",
"likes": 0,
"creator_id": 1
}
}
Method Url: /api/posts/:id
HTTP method: [DELETE]
{
"message": "post has been deleted."
}
Pitch
- Have a life hack? Share it on how-to. Posts with the most likes/reviews/attempts will be at the top of the feed. Simplifying life for everyone.
MVP
- An on-boarding process for a new general user (consumer).
- An on-boarding process for user who wants to generate content (creator).
- Ability to easily create & setup a how-to guide.
- Ability to easily edit & delete a how-to guide.
- Ability to easily view, search, find & filter how-to guides.
Stretch
- tbd
Backend Architect - Kayanna Chandler
Frontend Architects - Thomas Folbrecht and Jonathan Picazo
UI/Landing Page - Daniel O'Neill and Christian Ipanaque
Team Lead - Thomas Greenhalgh