-
-
Foi desenvolvido uma API REST para cadastro de tarefas, que possui as seguintes rotas: OBS: Dia deve estar no formato YY-MM-DD
get "/tasks
get "/tasks/:day"
post "/tasks/:day"
put "/tasks/:day"
delete "/tasks/:day"
Todas as rotas possuem validação para dias e tarefas. Infelizmente, não foi possível utilizar um banco de dados como mecanismo de persistência, então, os dados estão sendo armazenados em memória (variável global mutável), utilizando o mecanismo de persistência MVar.
-
Foram utilizadas Mônadas durante o desenvolvimento do backend para tratar operações com IO.
-
Sim, foram criados, principalmente na função update type Msg
update msg m = case msg of Add title -> { m | content = { id = (List.length m.content) , title = title } :: m.content , titleInput = "" } Remove id -> { m | content = List.filter (\item -> item.id /= id) m.content } ChangeInputText text -> { m | titleInput = text } Clear -> { content = [] , titleInput = "" }
type Msg = Add String | ChangeInputText String | Remove Int | Clear
-
Não foi necessário para este projeto.
-
-
- Foram Implementados os recursos básicos de uma lista de tarefas, incluindo adicionar tarefas, limpar lista de tarefas e excluir tarefa (marcar como concluída);
- As interações com cliente foram implementadas de modo a facilitar a utilização do usuário. Na página de tarefas, temos dois botões, um botão para adicionar tarefa e outro para limpar a lista de tarefas. Existe um campo para adicionar tarefas, bastando escrever o nome da tarefa e clicar no botão de adicionar. Para remover uma tarefa, basta clicar sobre a tarefa.
- O frontend da aplicação foi melhorado, utilizando materialize. Páginas HTML adicionais foram desenvolvidas para melhorar a apresentação do produto. O Javascript gerado foi integrado ao HTML;
- O App já está em produção e pode ser acessado por meio do link https://fga-funcional.github.io/Todo/
-
- Infelizmente não foi possível realizar a integração entre a aplicação Elm e a API.
- Não.
- Não.
-
-
Para realizar o build do projeto, basta rodar o comando elm make
src/Main.elm --output ../elm.js
. Já existe um arquivo HTML que realiza a importação do script, então, basta abrir esse arquivo com o browser de preferência. Tentou-se implementar um sistema de build com Docker para preparar todo o ambiente, instalando todas as dependências, porém, não obteve-se sucesso. - Este projeto não possui testes unitários, porém, boas práticas de programação foram aplicadas, como a modularização, onde se dividiu a aplicação em vários arquivos (Main, Models, Msgs, Views). Além disso, foram utilizados nomes significativos, atomicidade nas funções e comentários documentando os métodos da API.
- O App foi implantando utilizando o github pages e pode ser acessado por meio do link https://fga-funcional.github.io/Todo/
-
Para realizar o build do projeto, basta rodar o comando elm make