Kobe - Aplicativo de orçamento móvel (Fronnd)

Descrição geral
Aplicação que permite montar um orçamento por mês, onde existem 3 tipos de movimentos: receitas, despesas e economias. Para cada tipo de movimento, até 10 categorias podem ser definidas. Em um determinado mês, o usuário pode definir o valor que espera designar cada categoria (orçamento). Posteriormente, durante o mês, o usuário registrará seus movimentos e, a partir deles, em uma guia Estatística, você pode ver como o plano que fez para o mês está sendo cumprido.
Figma link
Imagem de referência:

Ambiente de Desenvolvimento
Para criar um ambiente de desenvolvimento de um aplicativo da Web com vibração na fronteira e express.js no back -end, para instalá -lo, você pode seguir estas etapas:
Configuração de fronteira
- Flutter Instalação - Desenvolvimento Móvel.
- Primeiro, faça o download e instale o Flutter em sua página oficial: https://flutter.dev/docs/get-started/install. Siga as instruções específicas para o seu sistema operacional. Posteriormente, adicione o caminho às variáveis do ambiente.
- Configuração do Android Studio - Um emulador móvel Android para testar o aplicativo.
- Instale o Android Studio no site oficial do Android Studio: https://developer.android.com/studio.
- No Android Studio, instale o Android SDK e configure um emulador no gerenciador AVD para simular um dispositivo móvel.
- Código do Visual Studio - Configuração do IDE a ser usada no projeto.
- Faça o download e instale o Código do Visual Studio (vscode) em sua página oficial: https://code.visualstudio.com/.
- Os seguintes plug -ins podem ser instalados para facilitar a codificação no Flutter:
- Flutter: para integrar o suporte ao vscode e incluir funcionalidades como execução e purificação de aplicativos.
- DART: necessário para trabalhar com o Flutter, pois fornece suporte para a linguagem de programação do DART.
- Snippets incríveis de vibração: fornece snippes de código úteis para se desenvolver mais rapidamente no Flutter.
- Flutter Widget Snippets: Uma coleção de trechos para os widgets mais usados em vibração.
Configuração de back -end
- Instalação do Node.js
- Faça o download e instale o Node.js em sua página oficial: https://nodejs.org/. Node.js é necessário trabalhar com o Express.js. Posteriormente, adicione o caminho às variáveis do ambiente.
- Criação e configuração de um projeto Express.js
- Abra um terminal e use o seguinte comando para instalar o gerador de aplicativos Express: npm install -g express -gerator
- Crie um novo projeto expresso com o comando: Express Name-of-Troject
- Desenvolvimento em Express.js
- Desenvolva seu aplicativo de back -end modificando os arquivos no diretório do projeto. Eles podem ser instalados adicionais conforme necessário, instalando -os com o nome de instalação do NPM.
- Ferramentas como Postman ou Insônia podem ser usadas para testar os pontos de extremidade da API do seu aplicativo Express.js.
Execução e testes
- Para a fronteira, o Open VS Code, navegue até o diretório do seu projeto Flutter e execute seu aplicativo usando o emulador configurado no Android Studio.
- Para o back -end, em um terminal navega para o diretório do seu projeto Express e executa
npm start para iniciar o servidor.
Requisitos
Requisitos funcionais
| |
|---|
| Identificação do requisito | RF1 |
| Nome do requisito | Criação de conta |
| Características | O usuário pode criar uma conta, definindo um nome de usuário e senha. |
| Descrição do requisito | O usuário pode criar uma conta fornecendo os dados: email, nome de usuário, nome completo e senha |
| Requisito não funcional | Rnf1, rnf2, rnf5 |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | RF2 |
| Nome do requisito | Autenticação do usuário |
| Características | O usuário para fazer login deve inserir as informações da conta |
| Descrição do requisito | O usuário para fazer login deve inserir seu nome de usuário e senha |
| Requisito não funcional | Rnf1, rnf2, rnf5 |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | RF3 |
| Nome do requisito | Criação de categorias |
| Características | O usuário pode criar categorias |
| Descrição do requisito | O usuário poderá criar no máximo 10 categorias para suas receitas, despesas e economias. |
| Requisito não funcional | Rnf1, rnf2, rnf6 |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | RF4 |
| Nome do requisito | Criação do plano de orçamento |
| Características | O usuário poderá criar um plano de orçamento para cada categoria de receita, despesas e economias. |
| Descrição do requisito | O usuário poderá criar um plano de orçamento para cada categoria de receita, despesas e economias. |
| Requisito não funcional | Rnf1, rnf2, rnf6, rnf7 |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | RF5 |
| Nome do requisito | Renda de movimento |
| Características | O usuário pode inserir seus movimentos financeiros de acordo com cada categoria de receita, despesas e economias. |
| Descrição do requisito | O usuário pode inserir seus movimentos financeiros de acordo com cada categoria de receita, despesas e economias. |
| Requisito não funcional | Rnf1, rnf2, rnf6, rnf7. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | RF6 |
| Nome do requisito | Visualizando o orçamento e o histórico de movimentos |
| Características | O usuário pode ver seus orçamentos anteriores. |
| Descrição do requisito | O usuário poderá ver seus orçamentos de períodos anteriores (mês e ano). |
| Requisito não funcional | Rnf1, rnf2, rnf6, rnf7 |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | RF7 |
| Nome do requisito | Alteração de senha |
| Características | O usuário pode solicitar uma alteração de senha. |
| Descrição do requisito | O usuário pode solicitar uma alteração de senha, fornecendo seu nome de usuário ou e -mail. |
| Requisito não funcional | Rnf1, rnf2, rnf6, rnf7 |
| Prioridade do requisito | Baixo |
Requisitos não funcionais
| |
|---|
| Identificação do requisito | Rnf1 |
| Nome do requisito | Desempenho |
| Características | Resposta imediata e eficiência do processamento. |
| Descrição do requisito | O aplicativo deve responder rapidamente às entradas do usuário e lidar efetivamente com o processamento de dados. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | Rnf2 |
| Nome do requisito | Disponibilidade |
| Características | Acesso constante e tempo mínimo de inatividade. |
| Descrição do requisito | O aplicativo deve estar disponível para uso o máximo possível, com um tempo mínimo de inatividade. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | Rnf3 |
| Nome do requisito | Usabilidade |
| Características | Intuitivo e acessível a todos os usuários. |
| Descrição do requisito | A interface do usuário deve ser intuitiva e fácil de usar para pessoas sem experiência anterior com o aplicativo. |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | Rnf4 |
| Nome do requisito | Compatibilidade |
| Características | Funciona em vários dispositivos e sistemas. |
| Descrição do requisito | O aplicativo deve ser compatível com várias versões de sistemas operacionais móveis, como Android e iOS, e se adaptar bem a diferentes tamanhos e resoluções de tela. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | Rnf5 |
| Nome do requisito | Segurança |
| Características | Proteção e criptografia de dados. |
| Descrição do requisito | O aplicativo deve proteger as informações confidenciais do usuário, garantindo que todos os dados transmitidos e armazenados sejam criptografados. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | Rnf6 |
| Nome do requisito | Escalabilidade |
| Características | Crescimento eficaz do usuário e carregamento de dados. |
| Descrição do requisito | O aplicativo deve ser capaz de lidar com um aumento no número de usuários e na carga de processamento de dados sem degradar significativamente o desempenho. |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | Rnf7 |
| Nome do requisito | Manutenção |
| Características | Organizado e atualiza facilmente o código. |
| Descrição do requisito | O código do aplicativo deve ser bem organizado e documentado para facilitar atualizações e manutenção pelos desenvolvedores. |
| Prioridade do requisito | Baixo |
| |
|---|
| Identificação do requisito | Rnf8 |
| Nome do requisito | Consumo de bateria |
| Características | Eficiência energética e consumo otimizado. |
| Descrição do requisito | O aplicativo deve ser eficiente em termos de consumo de bateria, evitando a drenagem excessiva quando estiver em uso ativo ou em segundo plano. |
| Prioridade do requisito | Média |
| |
|---|
| Identificação do requisito | Rnf9 |
| Nome do requisito | Gerenciador de banco de dados |
| Características | Recursos de confiabilidade e gerenciamento de dados avançados com o PostgreSQL. |
| Descrição do requisito | O aplicativo usará o PostgreSQL como um sistema de gerenciamento de banco de dados. |
| Prioridade do requisito | Alto |
| |
|---|
| Identificação do requisito | RNF10 |
| Nome do requisito | Código de desenvolvimento |
| Características | Desenvolvimento unificado e multiplataforma com vibração. |
| Descrição do requisito | O aplicativo usará o Flutter como uma estrutura de código de desenvolvimento. |
| Prioridade do requisito | Alto |
Diagramas
Diagrama relacional

Legenda da mesa:
- Tipo: refere -se aos três tipos de transações: receita, despesa e economia.
- Categoria: refere -se à natureza da receita/despesa/economia
- Tipo: Renda - Categoria: Salário, Juros, Pagamento por Taxas ...
- Tipo: Despesas - Categoria: Transporte, Alimentos, Serviços, Saúde, Educação, Entretenimento ...
- Tipo: Economia - Categoria: Casa, Carro, Viagens, Empreendedorismo ...
- Explicação: por exemplo, em um registro o tipo pode ser renda e a categoria pode ser salário
- Calendário: Esta tabela será composta por muitas datas e será vinculada a uma tabela de um mês. Isso é principalmente para facilitar a criação de filtros dentro da aplicação e alocação de datas para o registro na tabela do rastreador.
- Mês: Tabela contendo todos os anos com um ID diferente. Esta tabela facilitará a programação do filtro.
- Ano: Tabela contendo anos possíveis dentro de um período específico. Esta tabela facilitará a programação do filtro.
- Orçamento: é a quantidade de dinheiro planejada para cada categoria e mês (pois pode variar entre meses). É um objetivo, não será necessariamente cumprido.
- Registro (rastreamento): é a tabela principal, onde todas as receitas, despesas ou economias são registradas, com sua respectiva categoria, registro e data de detalhe.
- Usuário: é a tabela em que as informações do usuário são salvas, principalmente seus nomes e sobrenomes, além de suas credenciais para inserir sua conta de aplicativo (email e senha).
Use o diagrama de casos

Diagrama de implantação
