> Esse projeto foi feito para mostrar uma experiencia completa de um ecommerce feito utilizando Next.js e Next.js Serveless functions para construir o backend, utilizando Apollo Server e Apollo Client para o GraphQL.
---
# :pushpin: Tabela de Conteúdo
* [Site de Demostração](#eyes-site-de-demostração)
* [Tecnologias](#computer-tecnologias)
* [Funcionalidades](#rocket-funcionalidades)
* [Como rodar](#construction_worker-como-rodar)
* [Encontrou um bug? Ou está faltando uma feature?](#bug-problemas)
* [Contribuindo](#tada-contribuindo)
* [Licencia](#closed_book-licencia)
## 📥 Layout disponivel para download em:
# :eyes: Site de Demostração
No site de demostração pode estar faltando algumas funcionalidades, clene e rode o projeto para uma experiencia completa.
👉 demo: https://quantum-ecommerce.now.sh/
# :computer: Tecnologias
Esse projeto foi feito utilizando as seguintes tecnologias:
* [Next.js](https://nextjs.org/) - Para o SSR e controle de rotas
* [GraphQL](https://graphql.org/) - Para linguagem de query
* [Apollo](https://www.apollographql.com/) - Para o cliente/servidor graphql
* [Knex](https://knexjs.org/) - ORM
* [Vercel](https://vercel.com/) - Para hostear o site
# :rocket: Funcionalidades
- Autenticação com Cookies Sessions.
- Rest password com email
- Listagem de produtos
- Filtrar produtos por categoria
- Ordenar listagem de produtos
- Pesquisa de Produtos
- Adicionar produtos a lista de desejos
- Adicionar produtos ao carinho
- Checkout page
- Review de Produtos
# :construction_worker: Como rodar
### Renomear arquivo de variaveis de ambiente
Renomear `.env.local-exemple` para `.env.local`
### Instalar Dependencias
```bash
yarn install
```
### Configurar banco de dados
```bash
# Criar DB usando migrations
yarn knex:migrate
# Rodar seeds para popular o banco de dados
yarn knex:seed
```
### Rodar Aplicação
```bash
yarn dev
```
Acesse [http://localhost:3000](http://localhost:3000) para ver o resultado.
Acesse [http://localhost:3000/api/graphql](http://localhost:3000/api/graphql) para ver a documentação da API.
# :bug: Problemas
Fique a vontade **para criar uma nova issue** com o respectivo titulo e descrição na página de issues do [Next.js Ecommerce](https://github.com/RafaelGoulartB/Next.js-Ecommerce/issues) Repositorio. Se você já encontrou a solução para o problema, **Eu amaria fazer o review do seu pull request**!
# :tada: Contribuindo
Confira a página de [contribuição](./CONTRIBUTING.md) para ver como começar uma discução e começar a contribuir.
# :closed_book: Licencia
Lançado em 2020 :closed_book: Licencia
Made with love by [Rafael Goulart](https://github.com/RafaelGoulartB) 🚀.
Esse projeto esta sobre [MIT license](./LICENSE).
Dê uma ⭐️ se esse projeto te ajudou!