Este projeto tem como objetivo desenvolver uma aplicação web completa para auxiliar os usuários a praticar seus conhecimentos para certificação. Inicialmente implementaremos a Certificação AWS Practitioner. A aplicação será construída usando Java e Spring Boot para a API, React para o frontend e Amazon DynamoDB como banco de dados.
- Características Principais
- Roadmap
- Contribuições
- Desenvolvimento de Aplicação Web
- Planejamento
- Configuração do Ambiente
- Desenvolvimento Backend
- Desenvolvimento Frontend
- Testes
- Implantação
- Manutenção e Iteração
- Ideias Adicionais
- Cadastro de Usuário: Os usuários poderão se cadastrar na plataforma usando tokens.
- Testes: A aplicação contará com uma ampla cobertura de testes para garantir a qualidade do código.
- Clean Code: O código será escrito seguindo as melhores práticas de clean code.
- Criptografia de Dados: Os dados dos usuários serão criptografados para garantir sua segurança.
O desenvolvimento do projeto seguirá o seguinte roadmap:
-
- Planejamento: Definição clara dos requisitos do projeto e planejamento do modelo de dados no DynamoDB.
-
- Desenvolvimento da API: Construção da API usando Java e Spring Boot, com implementação dos endpoints necessários e configuração da conexão com o DynamoDB.
-
- Desenvolvimento do Frontend: Construção do frontend usando React, com implementação das páginas e componentes necessários.
-
- Testes: Implementação de testes unitários e de integração tanto para o backend quanto para o frontend.
-
- Implantação: A API será implantada na plataforma Render e o frontend no Vercel.
Estamos abertos a ideias que possam contribuir para o projeto, melhorar o desenvolvimento e aplicar conceitos reais do dia-a-dia de um programador. Sinta-se à vontade para contribuir!
Este é um roteiro básico para o desenvolvimento de uma aplicação web completa usando Java, Spring Boot, React e Amazon DynamoDB.
-
Defina claramente os requisitos do seu projeto.
-
Quais são os principais recursos que você deseja oferecer aos usuários?
O aplicativo permitirá que os usuários pratiquem seus conhecimentos para a certificação AWS Practitioner. Os usuários poderão se cadastrar na plataforma usando tokens. Além disso, a aplicação contará com uma ampla cobertura de testes para garantir a qualidade do código. O código será escrito seguindo as melhores práticas de clean code. Os dados dos usuários serão criptografados para garantir sua segurança.
-
Principais componentes do seu aplicativo?
O aplicativo será construído usando Java e Spring Boot para a API, React para o frontend e Amazon DynamoDB como banco de dados.
-
Quais são as principais páginas e componentes do frontend?
Página de login, página de registro, página inicial, páginas de conteúdo de estudo, quizes e testes práticos.
-
Quais são os principais modelos de dados que você precisa armazenar?
Informações sobre os usuários (como nome de usuário, senha, nome, cpf, ...), bem como informações sobre o conteúdo do curso (como perguntas do quiz, respostas alternativas, reposta correta, ...).
-
Quais são os principais recursos de segurança que você precisa implementar?
Tokens para o cadastro do usuário, criptografia dos dados para proteger informações sensíveis como senhas. Proteção contra ataques de injeção SQL (se aplicável) e a garantia de que todas as comunicações entre o cliente e o servidor serão criptografadas usando HTTPS.
-
Quais são os principais endpoints da API?
-
usuario
- POST /usuario/
- GET /usuario/{id} (apenas para admin)
- PUT /usuario/{id}
- DELETE /usuario/{id} (apenas para admin)
- GetAll /usuario/ (apenas para admin)
-
simulado
- POST /simulado/
- GET /simulado/{id}
- PUT /simulado/{id} (apenas para admin)
- DELETE /simulado/{id} (apenas para admin)
- GetAllbyCurso /simulado/{curso}
- GetAll /simulado/ (apenas para admin)
-
-
Desenhe um diagrama de arquitetura para ter uma visão clara de como os componentes se encaixam.
-
Planeje seu modelo de dados no DynamoDB.
- Instale o Java, Spring Boot e React em seu ambiente de desenvolvimento.
- Configure o AWS CLI e o AWS SDK para Java.
- Comece criando a estrutura básica do seu aplicativo Spring Boot.
- Configure a conexão com o DynamoDB.
- Implemente os endpoints da API REST necessários.
- Adicione autenticação e geração de tokens usando, por exemplo, JWT.
- Crie a estrutura básica do seu aplicativo React.
- Implemente as páginas e componentes necessários.
- Conecte o frontend com a API backend.
- Escreva testes unitários e de integração para o backend e frontend.
- Use ferramentas como JUnit e Mockito para o backend e Jest para o frontend.
- Configure o ambiente de produção na plataforma Render para a API e no Vercel para o frontend.
- Monitore o desempenho do aplicativo.
- Faça ajustes conforme necessário com base nos feedbacks dos usuários.
Ideias que podem contribuir para o projeto:
- Gamificação: Transforme o processo de aprendizado em um jogo onde os usuários ganham pontos ou distintivos ao atingir certos marcos.
- Fórum da Comunidade: Permita que os usuários interajam uns com os outros, fazendo perguntas e compartilhando conhecimentos.
- Progresso de Aprendizado: Mostre aos usuários o quanto eles progrediram em seu caminho de aprendizado.