Este projeto é o Trabalho Final da disciplina de Programação para Web I do curso de Análise e Desenvolvimento de Sistemas (4º Período), ministrada pelo Professor Carlos Anderson.
O sistema foi desenvolvido utilizando Django e Bootstrap, focando na implementação de autenticação, permissões e operações CRUD completas utilizando exclusivamente Function-Based Views (FBV).
Desenvolver uma aplicação web para o gerenciamento completo do ciclo de vida de eventos, permitindo o cadastro de usuários, criação de eventos, gestão de inscrições, controle de presença e geração de relatórios.
O sistema conta com 5 funcionalidades completas (Listagem, Criação, Edição, Exclusão e Detalhe):
- Gestão de Eventos: Criação, aprovação, publicação e gerenciamento de eventos.
- Gestão de Usuários: Cadastro, edição de perfil e controle de tipos (Administrador, Organizador, Participante).
- Inscrições: Sistema de inscrição em eventos com status (Pendente, Confirmado, Cancelado).
- Controle de Presença: Registro de presença dos participantes inscritos.
- Relatórios: Geração e visualização de métricas dos eventos (total de inscritos e presentes).
Além disso, o sistema possui:
- Sistema de Autenticação (Login/Logout/Cadastro).
- Controle de acesso baseado em permissões e grupos.
A maneira mais fácil de rodar o projeto é utilizando Docker. Certifique-se de ter o Docker e o Docker Compose instalados.
-
Clone o repositório:
git clone https://github.com/Maikoandre/MeetFlow.git cd MeetFlow -
Suba os containers:
docker compose up --build
Isso irá construir a imagem, iniciar o banco de dados MySQL e o servidor Django.
-
Acesse no navegador:
- Sistema:
http://localhost:8000/ - Admin:
http://localhost:8000/admin/
- Sistema:
Caso prefira rodar sem Docker, você precisará de uma instância MySQL rodando localmente.
-
Clone o repositório:
git clone https://github.com/Maikoandre/MeetFlow.git cd MeetFlow -
Crie e ative um ambiente virtual:
# Windows python -m venv venv venv\Scripts\activate # Linux/Mac python3 -m venv venv source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Configure o Banco de Dados: Certifique-se de ter um banco MySQL criado e exporte as variáveis de ambiente ou ajuste o
settings.pyse necessário. Exemplo de variáveis (Linux/Mac):export DB_NAME=meetflow_db export DB_USER=seu_usuario export DB_PASSWORD=sua_senha export DB_HOST=localhost
-
Realize as migrações:
python manage.py makemigrations python manage.py migrate
-
Crie um superusuário (Admin):
python manage.py createsuperuser
-
Inicie o servidor:
python manage.py runserver
- Maiko André Antunes de Sousa - 20241GBI02GT0010
- Adalvan Lima dos Anjos - 20241GBI02GT0005
Confira a demonstração do funcionamento do sistema no link abaixo:
Assista ao Vídeo de Apresentação
Projeto desenvolvido para fins acadêmicos.
