Giter VIP home page Giter VIP logo

patriciabarnabe / divinoburger-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from laboratoria/sap006-burger-queen-api

0.0 0.0 0.0 359 KB

Projeto 5 - Burger Queen API do bootcamp de Front-End da SAP006 Laboratória 💛API REST criada para a hamburgueria Divino Burger, desenvolvida com Node JS, PostgreSQL e Sequelize.

JavaScript 98.71% Shell 1.29%
nodejs heroku postgresql sequelize swagger express api-restful postman jwt-authentication bcrypt

divinoburger-api's Introduction

Divino Burger - API com Node.js 🍔

logo

Projeto 5 - Burger Queen API desenvolvido no bootcamp de Front-End da SAP006 Laboratória 💛

Índice

  1. Apresentação
  2. Resumo do Projeto
  3. Endpoints da API Divino Burger
  4. Estrutura do Banco de Dados
  5. Tecnologias Utilizadas
  6. Estrutura dos Principais Arquivos
  7. Sobre a Desenvolvedora

💼 Apresentação

Um pequeno restaurante de hambúrgueres, em crescimento, necessitava de um sistema para realizar pedidos usando um tablet, e que os enviem à cozinha para que sejam preparados de forma ordenada e eficiente.

A interface front-end da aplicação Divino Burger já foi criada, acesse aqui para conhecer.

E agora foi criado o back-end para manejar os dados dessa aplicação. Feito através de uma API rest que é compatível com as requisições vindas do front. Aqui você consegue acessar API.


📋 Resumo do Projeto

Como back-end, nesse caso nos referimos a um servidor web, que é basicamente um programa que ouve o que acontece na aplicação através de uma porta de rede, pela qual podemos enviar requisições (requests) e obter respostas (responses). Um servidor web deve manejar as requisições que chegam e devolver respostas a elas, que serão enviadas de volta ao cliente. Quando falamos de aplicações de servidor, isso implica uma arquitetura de cliente/servidor, onde o cliente é um programa que faz requisições através de uma rede (por exemplo o navegador, o cURL, etc) e o servidor é o programa que recebe essas requisições e as responde.

Você pode utilizar esse exemplo do login para ter acesso a um token de autenticação:

# Login
🆔 [email protected]
🔑 123456

⚙️ Endpoints da API Divino Burger

🔐 /auth (Hacker Edition)

  • POST /auth

👩‍🍳 /users

  • GET /users
  • GET /users/:user_id
  • POST /users
  • PUT /users/:user_id
  • DELETE /users/:user_id

🍟 /products

  • GET /products
  • GET /products/:product_id
  • POST /products
  • PUT /products/:product_id
  • DELETE /products/:product_id

📃 /orders

  • GET /orders
  • GET /orders/:order_id
  • POST /orders
  • PUT /orders/:order_id
  • DELETE /orders/:order_id

📊 Estrutura do Banco de Dados

Para este sistema foram criados três modelos básicos de usuários (Users), produtos (Products) e pedidos (Orders). No entanto, como a tabela de produtos e a tabela de pedidos têm uma relação muitos-para-muitos, foi necessária a criação de uma quarta tabela, ProductsOrders, para que possamos listar todos os produtos que foram escolhidos para um pedido.

estrutura-bd

🤖 Tecnologias Utilizadas

Ferramenta Descrição
Node.js Software de execução de códigos JavaScript
Express Framework para Node.js que fornece recursos mínimos para construção de servidores web
Sequelize Sequelize é um ORM(Object-Relational Mapper) para Node.js baseado em promise, utilizado para bancos de dados, como Postgres, entre outros
PostgreSQL Sistema gerenciador de banco de dados objeto relacional (SGBD), desenvolvido como projeto de código aberto
Heroku Plataforma de serviço (PaaS) que permite a contrução, execução e operação de aplicativos inteiramente na nuvem
Dbeaver Aplicativo de software cliente SQL e uma ferramenta de administração de banco de dados
Postman API Client que facilita a criação, compartilhamento, testes e documentação de APIs
Swagger Linguagem de descrição de interface para descrever APIs RESTful expressas usando JSON
Git e GitHub Sistemas de controle de versões distribuídos

📁 Estrutura dos Principais Arquivos

.
├── 📁images
|
├── 📁server
|   ├── 📁controller
|   |   ├── 📄authController.js
|   |   ├── 📄ordersController.js
|   |   ├── 📄productsController.js
|   |   └── 📄usersController.js
|   |
|   ├── 📁db
|   |   ├── 📁config
|   |   ├── 📁migrations
|   |   ├── 📁models
|   |   |   ├── 📄index.js
|   |   |   ├── 📄orders.js
|   |   |   ├── 📄products.js
|   |   |   ├── 📄productsorders.js
|   |   |   └── 📄users.js
|   |   ├── 📁seeders
|   |   └── 📄sequelize.js
|   |
|   └── 📁routes
|       ├── 📄authRouter.js
|       ├── 📄index.js
|       ├── 📄ordersRouter.js
|       ├── 📄productsRouter.js
|       └── 📄usersRouter.js
|   
├── 📄.env
├── 📄index.js   
├── 📄Procfile  
├── 📄package.json
└── 📄README.md


👩‍💻 Sobre a Desenvolvedora

Patrícia Barnabé

divinoburger-api's People

Contributors

moniyama avatar patriciabarnabe avatar

divinoburger-api's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.