Launchstore é um projeto de e-commerce, desenvolvido durante o bootcamp LaunchBase da Rocketseat, onde foram abordados conceitos como MVC, controle de sessões, criptografia de senhas, envio de e-mails, upload de imagens, validações no back e front end, animações, dentre outros.
- Cadastro de usuários.
- Criação de anúncios.
- Realização de pedidos.
- Carrinho de compras.
- Buscar produtos.
- Upload de imagems com Multer.
- Páginas dinâmicas com Nunjucks.
- Banco de dados PostgreSQL.
- Sistema de login e recuperação de senha.
- Animações com Lottie.
As seguintes tecnologias foram utilizadas no desenvolvimento do projeto:
- HTML
- CSS
- JavaScript
- Nunjucks
- NodeJS
- Nodemailer
- Express
- Express Session
- Multer
- PostgreSQL
- BcryptJS
- Faker.js
- Lottie
Para rodar a aplicação, você precisa instalar o Node e o banco de dados Postgres.
Siga os passos abaixo:
# Abra um terminal e copie este repositório com o comando
$ git clone https://github.com/martins-rafael/launchstore.git
# ou use a opção de download.
# Entre na pasta com
$ cd launchstore
# Instale as dependências
$ npm install
# Crie o banco de dados e as tabelas utilizando os comandos
$ docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres
# inclusos no arquivo "database.sql".
# Conexão com o banco de dados:
# Abra e edite o arquivo "db.js" dentro da pasta "src/config"
# com o seu user e password do Postgres.
# Popule o banco de dados usando o aquivo "seed.js":
$ node seed.js
# Rode a aplicação
$ npm start
Importante: Cuidado ao alterar/excluir a imagem de placeholder da pasta plublic/images
, pois os produtos gerados pelo seed.js
compartilham esse arquivo entre si.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by Rafael Martins
"scripts": { "debug": "nodemon --inspect=0.0.0.0:9229 src/server.js", "start": "npm-run-all -p nodemon browsersync", "nodemon": "nodemon src/server.js", "browsersync": "browser-sync start --proxy http://localhost:5000 --files 'public, src/app/views'" },