Este repositório contém o código da aplicação Acessibilidade Urbana, desenvolvida pelo grupo Honolulu da disciplina MC536 – Banco de Dados: Teoria e Prática, do Instituto de Computação da UNICAMP. O objetivo da aplicação é oferecer suporte à locomoção de pessoas com deficiência e/ou necessidades especiais, permitindo a consulta e avaliação de estabelecimentos acessíveis na cidade além da criação de avisos de acessibilidade pela cidade.
- Descrição da Aplicação
- Estrutura do Repositório
- Tecnologias Utilizadas
- Como Executar a Aplicação
- Arquitetura e Funcionalidades
- Contribuindo
- Licença
A Navable é uma aplicação que tem como principal objetivo facilitar a locomoção e a busca por locais acessíveis para pessoas com deficiência ou necessidades especiais. A aplicação permite que os usuários:
- Se cadastrem no sistema e escolham suas necessidades de acessibilidade.
- Avaliem estabelecimentos e ocorrências de acessibilidade em diferentes locais.
- Consultem um mapa interativo de estabelecimentos acessíveis, com filtros baseados nas necessidades individuais do usuário.
- Registrem e acompanhem ocorrências relacionadas à acessibilidade em espaços públicos e privados.
O sistema é composto por um frontend que interage com a API backend para acessar e manipular os dados no banco de dados. A aplicação permite a personalização da experiência, com base nas necessidades de acessibilidade do usuário, garantindo uma experiência inclusiva.
Este repositório está organizado da seguinte forma:
- docker/: Contém arquivos de configuração para rodar a aplicação em containers Docker.
- navable/: Diretório que contém o código do frontend, que é responsável pela interface de usuário (UI) e interação com a API.
- navable-api/: Diretório que contém o código do backend (API), que gerencia as requisições e interage com o banco de dados.
-
Frontend:
- Flutter.
- Comunicação com a API via HTTP (REST).
-
Backend:
- Java (utilizando Spring Boot e JPA).
- RESTful API
-
Docker:
- Contêineres para a subida do banco de dados Postgres.
- Docker: Certifique-se de que o Docker esteja instalado na sua máquina. Instruções de instalação do Docker.
- Java: Tenha Java 21 para manipular diretamente o back-end Refira-se ao README de /navable-api para mais informações.
- Maven: Refira-se ao README de /navable-api para mais informações.
- Flutter SDK: Flutter é necessário para a execução do projeto Refira-se ao README de /navable para mais informações.
-
Clone o repositório:
git clone https://github.com/edumigueis/Navable.git cd Navable
-
Inicie o container docker com o banco de dados:
cd ./docker docker compose up
-
Siga os passos no readme de cada pasta para configurar e iniciar o back-end e o front-end
O frontend da aplicação é responsável por:
- Exibir os dados de estabelecimentos e ocorrências acessíveis em um mapa interativo.
- Permitir que os usuários filtrem e busquem informações com base em suas necessidades de acessibilidade.
- Fornecer uma interface intuitiva para o cadastro de usuários, registro de avaliações e inserção de ocorrências.
- Ainda carece de algumas implementações que excederam o tamanho do escopo.
O backend é responsável por:
- Processar as requisições da aplicação frontend.
- Validar e persistir dados no banco de dados.
- Garantir que as regras de negócio sejam seguidas, como validação de avaliações e controle de integridade dos dados.
As operações no banco de dados são feitas através de SQL, com o arquivo init.sql
fornecendo dados iniciais.
Se você gostaria de contribuir com melhorias ou correções, siga os passos abaixo:
- Faça um fork deste repositório.
- Crie uma nova branch para sua feature ou correção:
git checkout -b minha-feature
- Realize as modificações necessárias.
- Envie as mudanças para o repositório:
git push origin minha-feature
- Abra um pull request para revisão.
Este projeto não é licenciado, peça autorização para utilizá-lo por completo.