danyelhenrique / frontend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tecnologias

Typescript -> Super set para javascript trabalhar com tipagem

Express js -> Micro frame work para nodejs

Bycrypt -> Encripitar a senha do usuario

Jwt -> Jsonwebtoken para realizar a autenticação do usuário

TypeOmr -> Orm para consultar o banco de dados

Yup -> Checagem dos inputs do usuario

Cors -> Para cross site origin.

Date-fns -> Todas as datas serão salvas no formato UTC para não ter problemas de timezone. não importa a geolocalização do usuario os dados serão estáveis.Só serão mostrados com timezone GMT -3:00 no frontend.

ReactJs -> FrameWork frontend para criar Spa (single page aplication) e complexas interfaces de usuario.

React-Redux -> Gerenciador de stados global syncrono para Javascript.

Redux-Thunk -> Feito para trabalhar com assincronismo unto com redux.

Styled-componentes -> Css in Js é feito para trabalhar com web aplications sendo mais fácil criar interfaces complexas.

Axios -> Client Http.

Backend rotas

post /users -> criar um usuário
body (name, email, password)

get / user -> listar todos os usuarios

get / schedules -> listar usuarios e os historicos de pontos.
query param (start_range, end_range)

obs: start_range e end_range são distancias entre as datas inicio / fim
ambos são obrigatoriamente no formato UTC

post / sessions -> iniciar uma sessão para se autenticar

***Somente as rotas a cima são publicas todas as outras o usuário ter que está autenticado.***

post / schedules -> bater o ponto primeira vez do dia
body(date! , entry?, lunch?, lunch_end?, exit?)

put / schedules -> bater outros pontos do dia como almoço, saida do trabalhado etc.
body(date! , entry?, lunch?, lunch_end?, exit?)

clone o repositório do backend em https://github.com/danyelhenrique/backend cd backend npm install npm run dev

clone o repositório do frontend em https://github.com/danyelhenrique/frontend cd frontend npm install npm start

possiveis ateraçoes para melhorar o projeto :

[ ] websockets para realtime quando um usuario bater o ponto.

[ ] buguer menu para melhor visualiação no mobile.

[ ] search usuario por nome.

[ ] listar por filtros ex: ultimos 30 dias ou até um ano.

[ ] Melhor erro handle nem todos os erros foram tratados muitos foram suprimidos.

[ ] melhor Ui para o usuario nem todas as açoes a serem feitas são tão obvias.

About


Languages

Language:JavaScript 96.8%Language:HTML 1.7%Language:CSS 1.5%