ClickFood é um sistema web criado com Django, focado em delivery e gestão de pedidos para restaurantes. Seu surgimento se deu a partir de um sorteio de tema para um trabalho de conclusão da disciplina de Programação Web II (PWEB II), ministrada pelo professor Sérgio Vieira, no curso técnico integrado em Informática do IFCE – Campus Itapipoca.
Embora a proposta inicial envolvesse um sistema completo de pedidos para usuários e uma área administrativa restrita a administradores com login e senha, o tempo disponível não permitiu a entrega do escopo completo, restringindo o projeto ao desenvolvimento de uma estrutura funcional de autenticação de usuários. Assim, foi implementado um sistema de login com validação integrada ao painel administrativo do Django, em que o superusuário definido também serve como credencial de acesso ao site por meio de uma interface de login personalizada.
O layout das páginas foi construído com HTML5, CSS3, JavaScript e Bootstrap, com o objetivo de oferecer uma experiência imersiva e elegante ao usuário final, sendo responsivo e interativo.
As seguintes instruções permitirão que você obtenha uma cópia do sistema web na sua máquina local para fins de desenvolvimento e teste.
Consulte Implantação para saber como implantar o projeto.
O que você precisa ter ou instalar na sua máquina para rodar e testar a aplicação Django?
Python 3.10 ou superior
Django 5.1.2
Git - para clonar o repositório e gerenciar o versionamento
Ambiente Virtual (eu utilizo e recomendo o Anaconda ou Miniconda)
Após verificar se possuí todas as dependências necessárias para rodar a aplicação, você deve criar uma pasta, onde você irá clonar os arquivos do clickfood. Com a pasta criada, vá ao terminal ou anaconda prompt, caso use-o como ambiente virtual e execute os comandos abaixo, passo a passo.
- Clone o repositório:
git clone https://github.com/seu-usuario/clickfood.git
cd clickfood
- Crie e ative um ambiente Conda:
conda create -n clickfood python=3.10
conda activate clickfood
- Instale as dependências do projeto:
pip install -r requirements.txt
- Aplique as migrações:
python manage.py migrate
- Crie um superusuário:
python manage.py createsuperuser
- Rode o servidor:
python manage.py runserver
- Acesse o sistema web:
http://127.0.0.1:8000
Termine com um exemplo de como obter dados do sistema ou como usá-los para uma pequena demonstração.
Este projeto não possui testes automatizados implementados até o momento.
No entanto, as funcionalidades principais foram testadas manualmente, como:
- Acesso ao sistema de login com as credenciais do superusuário
- Redirecionamento correto após o login
- Acesso ao painel administrativo do Django
Para testar:
- Execute o servidor com
python manage.py runserver
- Acesse
http://localhost:8000/
- Clique no botão de login na navbar do site para ser redirecionado à página de login
- Use as credenciais do superusuário para fazer login
- Acesse
/admin/
para verificar o painel administrativo
Este projeto ainda não foi implantado em ambiente de produção.
No entanto, ele pode ser facilmente hospedado em plataformas que suportam aplicações Django, como:
- PythonAnywhere
- Render
- Fly.io
- Servidores com suporte a WSGI (Apache/Nginx + Gunicorn)
Antes da implantação, recomenda-se:
- Criar variáveis de ambiente para esconder dados sensíveis
- Usar
ALLOWED_HOSTS
corretamente nosettings.py
- Configurar um banco de dados em produção (PostgreSQL, por exemplo)
- Ativar o modo
DEBUG = False
- Python 3.10+ – Linguagem de programação principal
- Django 5.x – Framework web backend
- HTML5 – Estrutura das páginas
- CSS3 – Estilização visual
- JavaScript – Funcionalidades interativas
- Bootstrap 5 – Framework CSS para layout responsivo
- Git – Controle de versão
- GitHub – Hospedagem do repositório
- Anaconda / Miniconda – Gerenciamento de ambientes virtuais
- Lucas Vinicius David Martins - Desenvolvedor Principal - luvini7
Este projeto é parte do meu portfólio de front-end/back-end. Até o momento, ele foi desenvolvido apenas por mim, porém pretendo ter contribuições de outros desenvolvedores futuramente para continuar o desenvolvimento do ClickFood.
Este projeto está atualmente sem uma licença definida. Fique à vontade para entrar em contato se tiver dúvidas sobre o uso do código.
No futuro, uma licença será adicionada para esclarecer os direitos de uso.
Pretendo prosseguir com esse projeto futuramente para ter um sistema web com a sua proposta inicial, que é ser um sistema de delivery para usuários realizarem pedidos com uma área administrativa para gerenciamento desses pedidos.
Futuramente irei abrir para colaborações :)
Caso tenha interesse em começar um projeto de front-end, que é minha especialidade, ou até mesmo continuar este projeto, entre em contato comigo!
Email: lucasmartins2468@gmail.com
LinkedIn: Lucas Vinicius
GitHub: luvini7
WhatsApp: Envie uma mensagem
Agradeço por ter chegado até aqui!! Sucesso 🥂