- Funcionalidades
- Conhecimentos aplicados
- Como executar o projeto
- Tecnologias
- Como contribuir no projeto
- Autor
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.
- 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
- 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
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
# 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
As seguintes ferramentas foram usadas na construção do projeto:
- Express
- CORS
- Express-validation
- CommitLint
- Commitizen
- Husky
- Eslint
- Mongoose
- Socket.IO
- Typescript
- Date-fns
- Dotenv
- Express-async-errors
- Serialport
- Swagger-ui-express
Veja o arquivo package.json
- Editor: Visual Studio Code
- Interface para MongoDB: MongoDB
- Faça um fork do projeto.
- Crie uma nova branch com as suas alterações:
git checkout -b feature/my-feature - Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feat: my new feature" - Envie as suas alterações:
git push origin feature/my-feature
Jonathan Wanderley 🚀