Skip to content

jonathan-wanderley/thermal-printer-api

Repository files navigation

Ponto De Venda – Fast Food / Back-end

GitHub language count Repository size GitHub last commit Stars Feito por Jonathan

Tabela de conteúdos


📦 Sobre

Sistema PDV para um restaurante FastFood com foco em facilitar os pedidos, pagamentos e controle das filas de cliente possibilitando a listagem e checkout dos pedidos.


⚙️ Funcionalidades

  • Listagem e pesquisa de produtos cadastrados
  • Criação e acompanhamento dos pedidos
  • Rotas para criar, finalizar e deletar pedidos
  • Listagem dos pedidos finalizados e em andamento
  • Listagem dos clientes que estão com pedidos em andamento
  • Listagem dos clientes que pediram no restaurante durante o dia
  • Possibilidade de adicionar multiplas formas de pagamentos
  • Integração com impressora termica, podendo imprimir uma via para o cliente

📃 Conhecimentos aplicados

  • MongoDB para criação do banco de dados;
  • Noções de API REST para criação e padronização de rotas;
  • Typescript para tipagem de dados
  • Express para criação do servidor
  • Documentação criada com Swagger
  • Uso de Socket.IO para implementação de web sockets
  • Aplicação em camadas - Controllers, Usecases/Services e Repositories
  • Padronização de commits utilizando Convencional Commits
  • Testes automatizados

🚀 Como executar o projeto

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js. Além disto é bom ter um editor para trabalhar com o código como VSCode

🎲 Rodando o projeto

# Clone este repositório
$ git clone https://github.com/jonathan-wanderley/thermal-printer-api.git

# Acesse a pasta do projeto no terminal/cmd
$ cd thermal-printer-api

# Instale as dependências
$ npm install

# Use o arquivo .env.example para configurar suas variaveis de ambiente
# Você pode apenas renomear o arquivo .env.example para .env e configurar os campos PORT, MONGO_URL e PRINTER_PORT

# No campo PORT digite a porta que você deseja que o servidor/site use, por padrão deixei na porta 3000

# No campo MONGO_URL você coloca a url do seu banco de dados MongoDB
# O modelo padrão de URL MongoDB é esse: mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
# Você pode consultar mais detalhes aqui nesse link: https://www.mongodb.com/docs/manual/reference/connection-string/

# No campo PRINTER_PORT você irá configurar de acordo com sua impressora termica

# Após configurar é só salvar seu arquivo .env com suas variaveis de ambiente

# Nossa aplicação foi desenvolvida em Typescript, para roda-la precisamos fazer o build
# Para fazer o build é só digitar o seguinte comando
$ npx tsc

# Agora execute a aplicação
$ npm run start

# O servidor inciará na porta configurada no arquivo .env
# Acesse http://localhost:3000

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Servidor (NodeJS + MongoDB)

Veja o arquivo package.json

Utilitários



💪 Como contribuir no projeto

  1. Faça um fork do projeto.
  2. Crie uma nova branch com as suas alterações: git checkout -b feature/my-feature
  3. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feat: my new feature"
  4. Envie as suas alterações: git push origin feature/my-feature

🦸 Autor

Jonathan Wanderley 🚀

Gmail Badge


Entre em contato!


About

Sistema PDV de um restaurante Fast Food integrado com impressoras termicas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages