Esse projeto é uma plataforma marketplace desenvolvida para a comunidade da CESAR School, com o objetivo de facilitar o comércio entre os membros da faculdade, onde os seus usuários poderão publicar produtos que desejam vender e comprar de outros usuários, com a possibilidade de negociação do item que desejado. Podendo ser acessado através desse LINK.
- Gerenciamento de Produtos: Permite que usuários registrem, editem e excluam produtos do marketplace.
- Autenticação de Usuários: Sistema de login e registro seguro integrado ao Django, com proteção CSRF e armazenamento seguro de senhas.
- Pesquisa e Filtros: Implementação de filtros dinâmicos e funcionalidade de busca para facilitar a navegação entre os produtos disponíveis.
- Testes Automatizados: Testes end-to-end com Selenium, verificando a integridade das principais funcionalidades em múltiplos navegadores.
- CI/CD: Pipeline automatizado utilizando GitHub Actions, garantindo testes automatizados e deploy contínuo para o ambiente de produção na AWS.
- Integração com AWS: Deploy automatizado para AWS Elastic Beanstalk, garantindo alta disponibilidade e escalabilidade do sistema.
Backend:
- Python
- Django
Frontend:
- HTML
- CSS
- JavaScript
Banco de Dados:
- SQLite (desenvolvimento)
- AWS RDS (produção)
Testes:
- Selenium
CI/CD:
- GitHub Actions
Deploy:
- AWS Elastic Beanstalk
Jira:
Figma:
Google Drive:
.ebextensions
: Configurações para AWS Elastic Beanstalk..github
: Workflows para CI/CD com GitHub Actions.SchoolYardFinds
: Código fonte da aplicação Django.Home
forms.py
: Arquivo contendo os formulários utilizados na aplicação, implementados com o Django Forms para validação e manipulação de dados de entrada.models.py
: Definição dos modelos de dados, representando as entidades do sistema e suas relações com o banco de dados.tests.py
: Conjunto de testes automatizados, implementados para verificar a funcionalidade e integridade dos componentes do sistema.urls.py
: Mapeamento das URLs da aplicação para as views correspondentes, definindo a estrutura de navegação do site.views.py
: Implementação das views da aplicação, contendo a lógica de apresentação e manipulação de dados para as páginas web.
static
: Arquivos estáticos (CSS, JS, imagens).templates
: Templates HTML renderizados pelo Django.manage.py
: Script de gerenciamento do Django.requirements.txt
: Lista de dependências Python necessárias para o projeto.
- Linguagem de Programação: Python v2023.8.0, JavaScript, CSS, HTML.
- Git: Baixar o Git.
- IDE: Visual Studio Code 1.78.2 ou outras IDEs.
- Extensions: SQLite Viewer v0.2.5, HTML CSS Support v1.13.1, Live Server v5.7.9.
- Sistema Operacional Compatível: Windows, Mac e Linux.
Para usar Schoolyard Find, siga estas etapas:
- Instalar a Aplicação no seu Computador:
1. O usuário deverá criar uma pasta em seu computador com um nome informativo da aplicação, como "Aplicação Schoolyard Finds".
2. O usuário então deverá apertar com o botão direito do mouse dentro da pasta e abrir o terminal da pasta.
3. Após isso, ele deverá inserir no terminal o comando "git clone https://github.com/Kal-0/FDS.git".
4. O usuário então abrirá o seu Visual Studio Code na versão certa e com as extensões baixadas, e apertará no botão "File".
5. Após isso, ele deverá navegar até "Open Folder", escolhendo a pasta que ele nomeou e aplicou o git clone.
6. O usuário deverá clicar com o botão direito do mouse em "FDS" e escolher a opção "Open in Integrated Terminal".
- Comandos para Instalação Libs Necessárias no Requirements.txt:
1. pip install -r requirements.txt
- Comandos para Utilização da Aplicação Local:
1. python manage.py makemigrations
1. python manage.py migrate
3. python manage.py runserver
- Comandos para Contribuição:
1. git pull
2. git add .
3. git status
4. git commit -m "Inserir Mensagem"
5. git push
- Abrir o Site do Schoolyard Finds:
1. Inserir no seu navegador o link "http://schoolyardfinds1.us-east-1.elasticbeanstalk.com/"
Agradecemos às seguintes pessoas que contribuíram para este projeto:
Desenvolvedores:
Caio Cesar |
Diogo Henrique |
Estela Lacerda |
Matheus Gomes |
Mell Brayner |
Sofia Valadares |
Esse projeto está sob licença. Veja o arquivo LICENÇA para mais detalhes.