E-commerce para produtos perto da validade

Overview

E-commerce para produtos perto da validade

(licença)

Apêndice

Sobre o projeto

Um projeto para vender as melhores ofertas de produtos perto da validade. Inicialmente, apenas alimentos estão disponíveis no site.

Qualquer empresa que revenda alimentos, poderá ser parceira do site. Então, cada produto estará associado algum supermercado. A ideia é mostrar para os clientes os produtos com as melhores ofertas perto de sua localidade. Com um portal dedicado aos lojistas, eles poderão ver suas ordens, além de poder cadastrar novos produtos no site.



Início

O início é composto por uma navbar, body que mostra os últimos produtos com opções para selecionar o tipo de produto e um footer.

Navbar: Há um botão que te leva ao início, um campo para procurar os produtos pelo nome, botão para ver seu carrinho e um botão para realizar o login ou entrar no perfil do usuário.

Body: No corpo do site é mostrado os últimos produtos que foram cadastrados no sistema de todas as lojas. Cada produto há um botão adicionar que adicionar o produto ao carrinho e te leva direto ao carrinho.

footer: Informações gerais sobre a loja.

inicio-gif-maker



Produto

Você pode adicionar um produto através da página principal pelo botão adicionar ou pela página do produto. Na página do produto, há mais informações sobre o produto, como a descrição, endereço que o produto se encontra e preço. Vale ressaltar que após o vencimento do produto, não é mais possível acessa a página e adicionar ao carrinho.

ezgif com-gif-maker (3)



Carrinho

Em primeiro instante, a lógica do carrinho se baseava no banco de dados, quando adicionado um produto ao carrinho, era realizado operações de adicão e escrita. Após perceber que isso poderia gerar inconsistências no banco de dados, dado um grande volume de escritas, além de ter que desenvolver uma lógica apenas para usuários anônimos, a lógica do carrinho agora se baseia em sessions. Quando é adicionado um produto, há apenas uma leitura no banco de dados para recuperar as informações do produto.

ezgif com-gif-maker (6)



Checkout

Antes de finalizar o pedido, é verificado se todos os pedidos são da mesma loja, se sim, é finalizado o pedido e criado uma ordem para loja que gera um número único de pedido. O usuário poderá chegar na loja e apresentar esse número. A ideia é que se o usuário não realizar o pagamento, o pedido será cancelado e e os produtos ficarão disponíveis novamente.

ezgif com-gif-maker (7)



Usuário

O usuário dispõe de uma interface para visualizar seus dados pessoais e suas compras.

ezgif com-gif-maker (8)



Lojista

O sistema possui uma parte dedicada ao lojista que deseja anunciar. Nele, há histórico de ordens, ultimas ordens e o cadastro novos produtos. Usuários marcados como cliente, não conseguem visualizar esse portal.



Tecnologia usadas

Backend

  • python
  • Django

Frontend

  • Html
  • Css
  • Bootstrap
  • Javascript

Implantação em produção

Utilizei heroku como serviço de hospedagem e AWS S3 para hospedar as fotos dos produtos que são inseridos pelos lojistas.

Dificuldades e melhorias futuras

Dificuldades

  • Alguma das dificuldades no deploy, foi utilizar tantos arquivos estáticos e como de media. Por padrão, heroku só aceita arquivos que são enviados no git. Portanto, para fazer o upload de arquivos no sistema, é preciso utilizar outro serviço de hospedagem. O aws S3 é uma ótima escolha, porém, há uma configuração extra para apontar os arquivos de media para outro bucket que não seja o de arquivos estáticos.

Melhorias futuras

  • Adicionar a parte de pagamento e entrega de produtos.
  • Colocar ofertas especiais no início.
  • Mostrar apenas produtos baseado na localização do usuário. Site vai identificar a região do usuário.
  • Chat online com o lojista.
  • Adicionar funcionalidade que não permite realizar a comprar se não haver mais produtos em estoque.



Como executar o projeto

# clonar repositório
git clone https://github.com/samuelveigarangel/estudio-paintblack.git

# Abra o prompt de comando e vá para pasta do projeto

# Crie um ambiente virtual
python -m venv venv

# Ative seu ambiente virtual
venv\scripts\activate

# Instale os requerimentos 
pip install -r requirements.txt

# Faça o migrate para criar a dabatase
py manage.py migrate

# Crie um super user
python manage.py createsuperuser

# Colete os arquivos estáticos
python manage.py collectstatic

# Execute o projeto 
python manage.py runserver
You might also like...

Programa feito em python para ouvir a voz do usuário e transcrever a fala em um arquivo de texto que sempre adiciona a frase pulando para próxima linha.

G.L.A.D.O.S Programa feito em python para ouvir a voz do usuário e transcrever a fala em um arquivo de texto. Essa é a G.L.A.D.O.S um programa atualme

Sep 4, 2022

Projeto criado para implementação de melhorias, criando um sistema que gerasse relatórios com algumas informações e criando também um controle do estoque para um restaurante ficticio

Projeto Restaurant Orders Dada a informação (fictícia): A lanchonete 'Pão na Chapa' possui um sistema de faturamento de pedidos de clientes que salva

Sep 9, 2022

Uma ferramenta em python para download de músicas de forma automatizada. Ao fornecer o nome da música + artista, o programa retorna a música em vídeo, audio e a letra formatada para projeção.

Music Lyric Download Índice Descrição do projeto Como funciona? Funcionalidades Layout Linguagens, dependencias e pré-requisitos APIS Utilizadas Como

Sep 10, 2022

Um primeiro teste de login utilizando PySimpleGui para a tela e arquivo TXT para armazenar os dados.

Visão Geral Teste de Login básico utilizando arquivo TXT para armazenar o usuário e senha. Linguagem de Programação: Python. Bibliotecas utilizadas: P

Sep 14, 2022

E-Commerce Telegram Bot for UCA Students

E-Commerce Telegram Bot for UCA Students

ucaStudentStore To buy from and sell to other students Features Register the first time, after that you will always be recognised You can login either

Jun 26, 2022

An E-Commerce Project made in Django with MySQL as a Database

An E-Commerce Project made in Django with MySQL as a Database

E- Commerce An E-Commerce Project made in Django Hi 👋 , I'm Kevin Arce Computer Science Engineering Student 💻 📚 | Cybersecurity Enthusiast ☠ 👨‍💻

Jun 12, 2022

My machine learning pet project on (E-Commerce product reviews) with (Pairwise Ranking and Sentiment Analysis)

URL: https://www.projectpro.io/project-use-case/ecommerce-product-reviews-ranking-sentiment-analysis Problem description E-Commerce applications provi

Jun 19, 2022

Django based, E-Commerce Website.

Django-Ecommerce 🏪 The clean, fast and right way to start a new Django 4.0.5 powered website. Getting Started Setup project environment with virtuale

Jun 28, 2022
Owner
Samuel Veiga Rangel
Sou um programador em constante evolução
Samuel Veiga Rangel
API rest - Produtos Kosher em fortaleza mais parashat hashavua

API-produtosKosherFortaleza API rest - Produtos Kosher em fortaleza mais parashat hashavua Rotas disponíveis Acesso a API: https://API-produtosKosherF

Damasceno 1 Jun 8, 2022
Web Scraping que faz a busca de produtos/marcas em diversos sites e retorna-os juntamente com um json

Web Scraping Sites com BeautifulSoup Este projeto é somente para fins educacionais. O código mostra como fazer web scraping de páginas de conteúdo din

João Assalim 1 Aug 26, 2022
🏆 Challenge Milenio - Uma aplicação REST API para logística que utilizei os algoritmo Dijkstra e BFS (Breadth-first search) para realizar cálculos para definir trajetos.

! ??️ PROJETO IMPORTADO DO GITLAB - https://gitlab.com/rodneysostras/desafio-dev-jr-pl Challenge Milenio Capital Sobre • Requisitos • Recursos • Como

Rodney Sostras 1 May 4, 2022
Repositório para demonstrar uso de action para Deploys Automáticos no Heroku

Repositório para demonstrar uso de action para Deploys Automáticos no Heroku Expliquei com mais detalhes o processo realizado aqui. Link da aplicação

Victor Augusto 3 May 13, 2022
Overlay para chats de livestreams. Inicialmente para rodar dentro do browser do obs-studio.

livestream-chat Overlay para chats de livestreams. Inicialmente para rodar dentro do browser do obs-studio. TODO: Issues iniciais Suporte a API do You

Eduardo Mendes 8 Aug 2, 2022
Repositório para realização do teste prático para vaga de Estágio de Análise e Desenvolvimento na empresa Target Sistemas.

Teste Prático - Análise e Desenvolvimento de Sistemas Repositório para realização do teste prático para vaga de Estágio de Análise e Desenvolvimento n

Paulo Vítor 0 Aug 15, 2022
Envia requisições HTTP para websites aleatórios para confundir sua VPN ou ISP(provedora de internet)

ISP-Confuser Envia requisições HTTP para websites aleatórios para confundir sua VPN ou provedora de serviços de internet. Modulos Necessarios: pip ins

Julio Melo 1 Jun 27, 2022
Esse repositório estara com os meus projetos publicos, para que de alguma forma possa contribuir para a comunidade Dev!

O programa foi desenvolvido para atender a seguinte necessidade: Eu sempre criei documentos para os desenvolvimentos de projetos, ou de alguma implant

Gabriel Paixão 1 Aug 1, 2022
Repositório criado para armazenar o projeto final apresentado na disciplina de Computação Gráfica que consistia em utilizar OpenGL para apresentar um modelo 3D.

Projeto Final Computação Gráfica É um projeto básico para composição de nota e nada muito avançado em relação as aplicações da área de computação gráf

Álvaro Farias 1 Aug 6, 2022
SDK para Python para NuvemFiscal

nuvemfiscal SDK para Python para NuvemFiscal https://nuvemfiscal.com.br Configuração Crie o arquivo .env com base no arquivo .env.example Altere as cr

Leonardo Gregianin 1 Sep 16, 2022