API de Gerenciamento de livrarias! Esta API foi desenvolvida utilizando Spring Boot e oferece funcionalidades para gerenciar os livros da loja e adicionar funcionários que podem fazer login na loja para ajudar no controle de estoque.
- Apesar do projeto ser mobile, você consegue acessar a versão web pela url bookstore web
- Cadastro de Usuários: Os usuários podem se cadastrar fornecendo informações básicas como nome de usuário, nome, senha e informações da loja (que incluem banner, nome da loja, slogan, etc).
- Login: Autenticação segura utilizando Spring Security e JWT (JSON Web Tokens) pelos administradores da loja ou pelo seus funcionários.
- Atualizar Perfil: Os usuários podem alterar o nome
- Atualizar Senha: Os usuários pode trocar de senha
- Administradores da loja podem cadastrar, editar ou excluir livros da livraria.
- Administradores podem cadastrar novos funcionários na loja. Esses funcionários tem um login próprio e poodem visulizar os livros e controler o estoque.
- Swagger UI: A API está documentada utilizando Swagger, permitindo uma fácil visualização e teste dos endpoints diretamente no navegador.
- Todas as operações são são seguras e exigem autenticação do usuário, validação da role atribuída ao usuário, bem como se ele possui relação com a loja que está operando.
- Flutter: Framework desenvolvido pelo Google para construção de aplicativos mobile híbridos (saiba mais em Flutter)
- Dio: Para comunicação eficiente com a API e uso de interceptors (saiba mais em Dio)
- BLoC: Para gerenciamento eficiente dos estados da aplicação (saiba mais em BLoC)
- GetIt: Para injeção de dependência (saiba mais em GetIt)
- Cached network image: Para otimização de imagens web (saiba mais em Cached network image)
- Image picker: Para tratar imagens selecionadas pelo usuário (saiba mais em Image picker)
- Flutter SDK 3.29.2
-
Clone o repositório:
git clone git@github.com:karoldm/bookstore.git cd bookstore -
Verificar instalação do flutter:
flutter doctor
```
3. **Instale as dependências**:
```bash
flutter pub get-
Inicie o projeto:
flutter run
- O frontend estará disponível em http://localhost:3000 (se estiver rodando na web)
Projeto hospedado no Firebase Hosting
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests ❤️













