Skip to content

API da aplicação SmartOrder para anotação de pedidos. Desenvolvido com Node.js, TypeScript e realtime com SocketIO.

Notifications You must be signed in to change notification settings

lucianogmoraesjr/smartorder-api

Repository files navigation

SmartOrder API

project-image

shields

O SmartOrder é uma aplicação inovadora projetada para agilizar o processo de atendimento em restaurantes e bares. Com uma interface intuitiva e fácil de usar, SmartOrder permite que os garçons anotem os pedidos dos clientes de forma rápida e eficiente, eliminando a necessidade de anotações em papel e minimizando erros de comunicação.

🧐 Features

Here're some of the project's best features:

  • Acompanhamento de pedidos em tempo real
  • Cadastro de produtos
  • Cadastro de ingredientes
  • Cadastro de categorias
  • Criação de novos pedidos

🧭 API Endpoints

Methods Endpoints Action
GET /docs To access API Docs with Swagger
POST /authenticate To authenticate
POST /users To create a new user
GET /users To fetch all users
GET /users/:userId To get a user by ID
PUT /users/:userId To update a user
DELETE /users/:userId To delete a user
POST /products To create a new product
GET /products To fetch all products
GET /categories/:categoryId/products To fetch all products by category
GET /products/:productId To get a product by ID
PUT /products/:productId To update a product
DELETE /products/:productId To delete a product
POST /categories To create a new category
GET /categories To fetch all categories
GET /categories/:categoryId To get a category by ID
PUT /categories/:categoryId To update a category
DELETE /categories/:categoryId To delete a category
POST /ingredients To create a new ingredient
GET /ingredients To fetch all ingredients
POST /orders To create a new order
GET /orders To fetch all orders
PATCH /orders/:orderId To update a order status
DELETE /orders/:orderId To cancel a order

🛠️ Installation Steps:

Configurando o ambiente

Para iniciar a aplicação localmente é necessário ter Node, pnpm e Docker previamente instalados.

Instalando as dependências

Para instalar as dependências do projeto, rode o comando:

$ pnpm install

Docker Compose

A aplicação precisa de um banco de dados Postgres, com o arquivo docker-compose.yml o processo de criação do container é automatizado, basta rodar o comando:

$ docker compose up -d

Environment Variables

O arquivo .env.example contém todas as variáveis preenchidas para rodar localmente, basta copiar e alterar o nome para .env:

$ cp .env.example .env

Migrations

Para criar as tabelas do banco de dados, é necessário rodar as migrations:

$ pnpm prisma migrate deploy

Seed

O banco de dados pode ser pré-populado com o arquivo de seed, basta rodar o comando:

$ pnpm prisma db seed

API

Com o ambiente devidamente configurado, a aplicação está pronta para iniciar:

$ pnpm dev

Por padrão, a aplicação está rodando no endereço: http://localhost:3333

Acesse http://localhost:3333/docs para a documentação

💻 Built with

Tecnologias utilizadas no projeto:

  • Node.js
  • TypeScript
  • Express
  • Socket.IO
  • Prisma
  • Zod

About

API da aplicação SmartOrder para anotação de pedidos. Desenvolvido com Node.js, TypeScript e realtime com SocketIO.

Topics

Resources

Stars

Watchers

Forks