Skip to content

Albertinesilva/smart-parking-iot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

🅿️ Smart Parking IoT

🚗🏙️ Sistema de Estacionamento Inteligente com React e Spring Boot

📖 Introdução

O Smart Parking IoT é um sistema de estacionamento inteligente com IOT desenvolvido no contexto da disciplina de Programação Web Avançada, com foco na aplicação de conceitos modernos de desenvolvimento de sistemas distribuídos e seguros. A solução integra um backend em Spring Boot e um frontend em React + TypeScript, incorporando autenticação com JWT, gestão de vagas em tempo real e uma interface moderna e responsiva para o usuário. Com a integração de recursos de IoT, o sistema possibilita o monitoramento e a reserva de vagas de forma automatizada, demonstrando práticas de arquitetura em camadas, segurança robusta e comunicação eficiente entre os módulos.


📌 Objetivo

O objetivo do sistema é oferecer uma solução robusta e segura para o gerenciamento de vagas de estacionamento, permitindo:

  • Reservas online de vagas 🚙
  • Autenticação segura via JWT 🔑
  • Monitoramento em tempo real de status das vagas 📡
  • Integração IoT para controle e automação ⚡

🛠️ Tecnologias Utilizadas

🌐 Backend (Java + Spring Boot)

  • Spring Boot 3 – Framework principal
  • Spring Security + JWT – Autenticação e autorização
  • Spring Data JPA – Persistência de dados
  • SpringDoc OpenAPI – Documentação interativa com Swagger
  • Flyway – Migração e versionamento de banco de dados
  • PostgreSQL – Banco de dados relacional
  • CORS Configurado – Integração com frontend
  • Exception Handling Global – Tratamento robusto de erros
  • TimeZone Configurada – Garantia de consistência temporal

📂 Estrutura de pacotes do backend:

java/br/edu/ifba/park/iot/backend
├── audit
├── infra
├── jwt
├── model
├── repository
├── security
├── service
└── web
resources
├── db
├── static
├── templates
├── application.properties
├── application-dev.properties
└── application-test.properties

💻 Frontend (React + TypeScript)

  • Create React App (CRA) com TypeScript
  • React Router DOM – Navegação entre páginas
  • Axios – Comunicação com backend
  • Bootstrap 5 – Estilização responsiva
  • Context API + Hooks – Gerenciamento de estado

📂 Estrutura do frontend:

src
├── api
├── assets
├── components
├── context
├── hooks
├── pages
├── types
├── utils
├── App.tsx
└── index.tsx

⚙️ Como Executar o Projeto

🔹 Pré-requisitos

  1. Clone o repositório:
git clone https://github.com/park-api-iot.git
cd backend

  1. Configure o PostgreSQL e ajuste application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/estacionamento
spring.datasource.username=postgres
spring.datasource.password=senha
spring.jpa.hibernate.ddl-auto=validate
spring.flyway.enabled=true
  1. Execute o projeto:
./mvnw spring-boot:run
  1. Acesse a documentação Swagger:
http://localhost:8080/swagger-ui.html

📌 Frontend (React + Typescript)

  1. Vá até a pasta do frontend:
cd frontend
  1. Instale as dependências:
yarn install
  1. Execute o projeto:
yarn start
  1. O sistema ficará disponível em:
http://localhost:3000

🔒 Segurança

O sistema utiliza JWT (JSON Web Token) para autenticação.

  • O usuário faz login e recebe um token.
  • O token deve ser enviado no cabeçalho Authorization: Bearer .
  • Permissões de acesso são validadas pelo backend.
  • Rotas protegidas por Spring Security
  • Tokens armazenados no localStorage

🧪 Testes

  • Testes unitários no backend com JUnit
  • Validações e tratamento de exceções centralizados

📅 Timezone

  • O sistema está configurado para UTC-3 (America/Sao_Paulo) garantindo consistência de horários em reservas, check-ins e relatórios.

✅ Conclusão

O projeto Smart Parking IoT integra Spring Boot e React + TypeScript, aplicando boas práticas em autenticação, versionamento de banco de dados, arquitetura limpa e documentação interativa. Essa solução evidencia a aplicação prática de conceitos avançados de desenvolvimento web, como arquitetura em camadas, segurança robusta com JWT, controle de migrações via Flyway e integração eficiente entre frontend e backend. Além de atender ao propósito acadêmico, o sistema apresenta potencial de expansão para cenários reais, oferecendo maior eficiência, automação e controle na gestão de estacionamentos inteligentes. 🚀


👨‍💻 Author

Albert Silva de Jesus
Java Backend Developer | Spring Boot


📎 Contact

LinkedIn Gmail

About

🚗 Aplicação full stack de estacionamento inteligente (Smart Parking), desenvolvida com Spring Boot e React, integrando conceitos de IoT para monitoramento de vagas em tempo real, comunicação entre dispositivos e construção de aplicações web modernas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors