A grocery managment application that gathers recipes based on your pantry.
This repo is the back-end for Gliss. You can see the app live at https://gliss-client.vercel.app/
The app was designed with both mobile and desktop viewing in mind.
To check out the app, you can either sign up or select the demo account.
It can be a daunting task to figure out what to make for dinner each night. Gliss makes viewing your pantry from anywhere easy and privides dinner ideas that you may have never thoughut of with the items that you have.
/api
.
├── /auth
│ └── GET
│ ├── /current-user
│ └── POST
│ └── /login
|
├── /users
│ └── GET
| ├── /
│ ├── /:user_id
| ├── /:user_id/items
| ├── /:user_id/recipes
| └── POST
| ├── /
│ └── DELETE
│ └── /:user_id
|
├── /items
│ └── GET
│ ├── /
│ └── POST
│ ├── /
│ └── DELETE
| └── /:user_id/:item_id
|
├── /recipes
│ └── GET
│ ├── /
│ └── POST
│ ├── /
│ └── DELETE
| └── /:user_id/:recipe_id
// req.body
{
username: String,
password: String
}
// res.body
{
user: {
id: Number,
firstName: String,
lastName: String,
username: String,
dateCreated: Number,
}
authToken: String
}// req.header
Authorization: Bearer ${token}
// res.body
{
user: {
id: Number,
firstName: String,
lastName: String,
username: String,
dateCreated: Number,
}
}// res.body
{
user: {
id: Number,
firstName: String,
lastName: String,
username: String,
dateCreated: Number,
}
}// req.header
Authorization: Bearer ${token}
//req.body
{
userId: Number
}
// res.body
{
user: {
id: Number,
firstName: String,
lastName: String,
username: String,
dateCreated: Number,
}
}// req.header
Authorization: Bearer ${token}
//req.body
{
userId: Number
}
// res.body
{
id: Number,
item: String,
categoryId: Number,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
//req.body
{
userId: Number
}
// res.body
{
id: Number,
recipeName: String,
ingredients: String,
img: String,
url: String,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
//req.body
{
firstName: String,
lastName: String,
username: String,
password: String
}
// res.body
{
user: {
id: Number,
firstName: String,
lastName: String,
username: String,
dateCreated: String,
}
authToken: String
}// req.header
Authorization: Bearer ${token}
//req.body
{
userId: Number
}//res.body
{
id: Number,
item: String,
categoryId: Number,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
// req.body
{
item: String,
categoryId: Number,
userId: Number
}
// res.body
{
id: Number,
item: String,
categoryId: Number,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
// req.body
{
userId: Number,
itemId: Number
}//res.body
{
id: Number,
recipeName: String,
ingredients: String,
img: String,
url: String,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
// req.body
{
recipeName: String,
img: String,
url: String,
ingredients: String,
userId: Number
}
// res.body
{
id: Number,
recipeName: String,
ingredients: String,
img: String,
url: String,
userId: Number,
dateCreated: String,
}// req.header
Authorization: Bearer ${token}
// req.body
{
userId: Number,
recipeId: Number
}- Node and Express
- Authentication via JWT
- RESTful Api
- Testing
- Supertest (integration)
- Mocha and Chai (unit)
- Database
- Postgres
- Knex.js - SQL wrapper
- Supertest (integration)
- Mocha and Chai (unit)
- Deployed via Heroku




