Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gonzagadavid/appointment-calendar-frontend
Aplicação desenvolvida usando React, Typescript, Axios e Context-API, com o objetivo de proporcionar a pessoa usuária de forma visual o controle de prazos e agendamento de tarefas, prazos e compromissos.
https://github.com/gonzagadavid/appointment-calendar-frontend
axios context-api eslint react testing-library typescript
Last synced: 1 day ago
JSON representation
Aplicação desenvolvida usando React, Typescript, Axios e Context-API, com o objetivo de proporcionar a pessoa usuária de forma visual o controle de prazos e agendamento de tarefas, prazos e compromissos.
- Host: GitHub
- URL: https://github.com/gonzagadavid/appointment-calendar-frontend
- Owner: Gonzagadavid
- License: mit
- Created: 2021-12-31T03:11:24.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-19T17:17:26.000Z (over 1 year ago)
- Last Synced: 2023-08-19T18:28:27.995Z (over 1 year ago)
- Topics: axios, context-api, eslint, react, testing-library, typescript
- Language: TypeScript
- Homepage: appointment-calendar-frontend.vercel.app
- Size: 4.84 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# App'ointment Calendar - Frontend
Visite a Aplicação
---
App'ointment Calendar - Full Stack
---
App'ointment Calendar - Backend
---
# Sumário
- [Introdução](#introdução)
- [Instruções para rodar localmente](#instruções-para-rodar-localmente)
- [Detalhes da aplicação](#detalhes-da-aplicação)
- [Tela inicial](#tela-inicial)
- [Cadastro](#cadastro)
- [Login](#login)
- [Adicionar tarefa](#adicionar-tarefa)
- [API](#api)
- [Testes](#testes)
- [Tecnologias](#tecnologias)
- [Deploy](#deploy)
- [Futuras Implementações](#futuras-implementações)---
# Introdução
A aplicação Appoiment Calendar foi desenvolvida com o objetivo de proporcionar a pessoa usuária de forma visual o controle de prazos e agendamento de tarefas, prazos e compromissos.
![tela da aplicação](./public/assets/images/introducao.png)
---
# Instruções para rodar localmente
1 - Abra o terminal
2 - clone o repositório do Backend `[email protected]:Gonzagadavid/appointment-calendar-backend.git`
3 - entre no diretório do repositorio clonado `cd appointment-calendar-backend`
4 - execute o comando para instalar as dependências `npm install`
5 - preencha o arquivo `.env-eg` com os dados do seu banco de dados MongoDB local e mude o nome do arquivo para `.env`
*caso não tenha o MongoDB instalado siga o seguinte [tutorial](https://docs.mongodb.com/manual/installation/)*6 - execute o comando para iniciar o servidor `npm start`
7 - abra um nova janela do terminal
8 - clone o repositório do Frontend `git clone [email protected]:Gonzagadavid/appointment-calendar-frontend.git`
9 - entre no diretório do repositorio clonado `cd appointment-calendar-frontend`
10 - execute o comando para instalar as dependências `npm install`
11 - verifique no arquivo `src/services/backend/endpoints.ts` está com a constante BASE_URL condizente com a porta do backend, caso tenha alterado no backend, deverá ser atulizado nessa constante também
12 - execute o comando para iniciar a aplicação `npm start`
13 - a aplicação iniciará em `http://localhost:3000`
---
# Detalhes da aplicação
## Tela inicial
Ao iniciar a aplicação, a pessoa usuária terá acesso normalmente ao calendário, porém para adicionar tarefa será requisitado o login.
![tela inicial](./public/assets/images/tela-inicial.png)
## Cadastro
Ao clicar em Sign Up na parte superior direita a pessoa usuária porderá se cadastrar na aplicação, forncendo nome, sobrenome e um email ativo.
![formulario de cadastro](./public/assets/images/cadastro.png)
## Login
Ao clicar em Log In na parte superior da tela a pessoa usuária poderá entrar na aplicação, tendo a opção de manter-se logada.
![tela de login](./public/assets/images/login.png)
Após logar o nome da pessoa usuária será exibido no lado superio direito da tela
![tela inicial](./public/assets/images/logged.png)
## Adicionar tarefa
Para adicionar tarefa basta a pessoa usuária clicar em 'Add Task' na parte inferior direita
![formulário de tarefa](./public/assets/images/add-task.png)
Após preencher o formulário com as informações da tarefa e clicar em 'Send', será exibido os detalhes da tarefa, e então a tarefa será adicionada na lista daquele dia.
Os dias em que tarefas são adicionado a cor da data será azulada com um ícone, indicando que há compromisso para aquele dia.![tela com tarefa adicionada](./public/assets/images/task-added.png)
## Detalhes da tarefa
Ao clicar em uma tarefa da lista, será exibido os detalhes da tarefa, e pessoa poderá também editar e remover a tarefa.
![detalhes da tarefa](./public/assets/images/task-details.png)
---
# Api
Para a renderização correta do calendário foi utilizada a API [Calendar JSON API](#https://github.com/Gonzagadavid/calendar-json-api)
---
# Testes
Desenvolvido testes unitários para todos os componentes da aplicação.
Para rodar os testes localmente use o comando `npm test` ou `npm test `![cobertura de testes](./public/assets/images/testes.png)
---
# Tecnologias
- React
- Typescript
- Testing Library
- Axios
- Eslint
# Deploy
Para o deploy da aplicação foi escolhido a [Vercel](#https://vercel.com/)
Visite a Aplicação
# Futuras implementações
- cobertura de teste em 100% da aplicação
- implementar página para a pessoa adminitradora direcionar tarefas para outras pessoas usuárias