/Agenda-Pessoal

Uma agenda web, o usuário poderá organizar a sua rotina por aqui.

Primary LanguageC#

Agenda-Pessoal

Agenda Pessoal, sistema feito para organizar a rotina de seus usuários

Sistema feito para botar meu conhecimento em prática, o site permite com que o usuário organize sua rotina diaria da forma mais eficaz e intuitiva possível, o sistema conta com contas individuais, aonde cada um poderá ter a sua propria agenda, o sistema conta com 3 funcionalidades: Agenda de contatos, Bloco de notas e Lista de Tarefas. Eu pensei nessas três funcionalidades, pois são as que eu mais utilizo(a agenda nem tanto) e portanto eu achei que seria legal eu mesmo criar um sistema que suprisse está minha necessidade.

Como Utilizar ou Testar?

  • Você precisará ter o Mysql instalado em sua máquina - banco de dados utilizado neste sistema. Caso queira, você pode utilizar um script que deixei na pasta Analise-requisitos>Banco-de-Dados , ele contem o registro de dois usuarios cadastrados no banco com registros já inseridos nas outras funcionalidades do sistema

  • Será necessario voce ter instalado em sua máquina o .NET Core 5 - Framework utilizado na criação de API's, fornecido pela microsoft(em poucas palavras)

  • Após ter baixado o projeto em sua máquina, você abrirá a pasta(backend) que possui os arquivos da API, entrará no terminal e digitará "dotnet run", para assim rodar a api.

  • Por fim, você pode entrar na pasta que contém as páginas do sistema(frontend), entre na pasta Public>Home e clique no link chamado home, após isso, será aberto uma guia em seu navegador com o sistema já funcionando

Usuário

Home - A primeira vez que o usuário entrar no sistema, ele verá está tela, aqui ele pode logar no sistema, caso ele seja novo, o mesmo pode criar uma nova conta. Nesta parte o site também fornece uma breve descrição sobre o sistema.

Menu

Aqui o usuário poderá escolher em qual das funcionalidades do sistema ele irá entrar. O sistema conta com 3 ferramentas que auxiliaram o usuário na organização da sua rotina

video-cortado.mp4

Agenda de Contatos

Ver Contatos - aqui o usuário pode ver seus contatos salvos e caso queira adicionar mais um, ele faria nesta mesma tela. O sistema não permite que o usuário salve contatos sem antes preencher o campo do nome, este é o único campo que realmente é obrigatório ser preenchido. Junto deste campo temos: um campo para adicionar email, N° telefone, N° celular, estado da onde este contato é, sua cidade e por fim um bloco de notas, que serve para fazer uma breve descrição do contato.

Editar Informações - aqui é possível ver as informações do contato, se o usuário quiser, o mesmo pode editar os detalhes por aqui, assim como é obrigátorio preencher o campo de nome para adicionar um contato, aqui também é a mesma coisa, você pode deixar todos os outros campos vazios, menos o nome do contato.

Apagar Contato - com está tela o usuário tem a opção de apagar o contato desejado, aqui apenas é possivel ver as informações do contato, sem a possibilidade de alteração, a tela mostra apenas os detalhes que realmente sao relevantes na hora de adicionar um contato, como: nome, email, telefone e celular.

Bloco de Notas

Ver Anotações - Aqui o usuário pode ver seus textos criados, na tela é possível apenas criar um novo registro, se o usuário quiser alterar um arquivo já criado, basta apenas clicar sobre o nome de um, que assim será redirecionado para uma outra tela.

Criar Bloco de Texto - Quando o usuário clicar em "Novo", o mesmo será redirecionado para está tela aonde poderá criar suas anotações, é necessário apenas que o usuário dê um nome para o texto, para assim poder salvá-lo.

Editar Bloco de Texto - Quando o usuário clicar sobre um dos registros, ele será redirecionado para está tela, aonde será possível a edição do arquivo, aqui nos é mostrado informações como: o nome do arquivo, o contéudo do arquivo, suas datas de criação e ultima atualização. Apenas é obrigátorio prencher o campo 'nome' para salvar o arquivo.

Deletar Bloco de Texto - Caso o usuário queira excluir o arquivo, basta clicar sobre o botão "Excluir" que uma mensagem aparecerá perguntando se ele que confirmar está ação, clicando em "Sim" o arquivo sera excluído permanentemente.

Lista de Tarefas

Tela Categorias - Nesta tela o usuário pode ver todas as categorias que estão em seu sistema. As categorias funcionam como especies de grupos, aonde cada uma pode conter diferentes tipos de tarefas, como a categoria 'Estudos Web', ela agruparia todas as coisas que o usuário precisa fazer em relação aos seus estudos.

Está tela também contêm as opções de: adicionar categoria, excluir categorias já existentes, editar as informações e salvá-las clicando sobre o icone de disquete e por fim, você pode ver as tarefas que estão nesse grupo, para isso basta apenas clicar sobre o icone do olho que você será redirecionado para outra página que tem essas informações.

Editar e Excluir

Quando o usuário preenche todos os campos corretamente e depois salva o arquivo, uma mensagem é retornada. Se o usuário quiser excluir uma categoria, basta apenas clicar sobre o icone de lixeira, um aviso será mostrado perguntando se ele quer continuar, clicando em 'sim' a categoria é excluída junto com suas tarefas.

Tratamento de Erros

Caso o cliente tente salvar uma nova categoria que não possui nome e nem descrição, um erro é retornado ao usuário. E se ele tentar salvar as alterações de uma categoria já existente sem preencher os campos nome e descrição da categoria, a aplicação manda um erro.

Tela Minhas Tarefas - Quando o usuário clicar sobre o icone de ver, ele será mandado para está tela, aqui contêm o titulo da categoria, sua descrição e as funcionalidades de editar, apagar, inserir e ordenar tarefas. Quando o cliente cria uma nova tarefa é possível definir seu nível de prioridade(1 até 5), quanto maior o numero mais importante é a tarefa.

É possível ver que as tarefas contam com uma data que, representa o dia em que essa tarefa foi inserida na categoria, quando o usuário conclui-lá, ele pode marcar a meta como feita atráves do checkbox, caso ele veja que não é mais necessário deixar essa tarefa na lista, ele pode simplesmente exclui-lá e por fim, se ele quiser editar o objetivo, para salvar basta apenas clicar sobre a imagem do disquete.

Se o usuário tentar salvar uma nova tarefa com um campo vazio, um erro é retornado ao cliente, o mesmo acontece se ele for editar uma tarefa já existente e deixar o campo nulo.

Protótipos:

A Agenda de Contatos possuirá 3 telas, nelas terão todo o crud do sistema; este é um rascunho, então a versão final pode estar diferente dessa.

Funcionalidades do sistema Bloco de Notas , o sistema conta com 3 telas que contem todo o crud do gerenciador, a tela que mostra o contéudo da anotação possibilita o usuário de editar e apagar o texto escrito.

A funcionalidade Lista de Tarefas terá apenas duas telas e essas telas terão todo o crud do sistema. A parte de categorias refere-se a tipos de tarefas expecificas, seja coisas que eu preciso fazer em casa ou coisas que preciso fazer no trabalho, assim facilita a organização do usuário.

Estrutura do Banco de Dados:

Ferramentas Utilizadas:

  • Utilizando banco de dados Mysql
  • Usando C#/ .Net Core 5 para backend
  • Usando HTML5 e CSS3
  • Frameworks frontend: Bootstrap e SweetAlert