Skip to content

Projeto final para o curso de back end da {Reprograma}. Trata-se de uma API que gera timelines para armazenar a história de pessoas trans e travestis.

Notifications You must be signed in to change notification settings

agnes-ignacio/t-memory-api

Repository files navigation

T-MEMORY-API

memory

introdução

Olá, boas-vindas à documentação da T-MEMORY-API, meu projeto final para o curso de desenvolvimento backend da {Reprograma}. Trata-se de uma aplicação que serve para armazenar de forma cronológica as atividades, conquistas e acontecimentos de pessoas trans e travestis dentro de um contexto: seja uma empresa, uma ONG ou qualquer grupo de pessoas que tenha interesse em agrupar essas informações.

Por muito tempo, a única memória cultivada no imaginário coletivo da figura da pessoa trans - em especial, das travestis - é diretamente associada à prostituição e à criminalidade e, ainda que a questão do trabalho sexual precise ser revista despida de moralidades e abordada como um trabalho como qualquer outro, é importante que construa-se história de pessoas trans e travestis exercendo outras atividades, para que sirva como exemplo para a sociedade em geral, mas principalmente para as próximas gerações gênero-dissidentes que precisam de outras referências.

A T-MEMORY é uma iniciativa que acontece com essa finalidade: colocar em evidência que iniciativas e acontecimentos são importantes para a comunidade trans dentro das organizações e grupos de pessoas, para fins de análise, estímulo quanto a novas iniciativas nesse sentido e para que outras consigam se imaginar transitando nesses espaços que demonstram dar importância para a presença e reparação histórica de pessoas trans e travestis.

informações: memória e timeline

Na T-MEMORY, dois tipos de conjunto de informações são armazenados: a unidade básica da aplicação, chamada de memória, que carrega informações sobre um acontecimento específico com relevância para a questão de gênero dissidência, e as timelines, que estruturam as memórias a partir de um assunto, organização, empresa, ONG, etc. Assim, é possível ver o desenvolvimento gradual e histórico dos eventos e de que forma é possível usar da lembrança para impulsionar mais iniciativas nesse sentido.

Como exemplo de estrutura de memória, podemos sugerir:

{
"title": "memoria2",
"date": "2021-07-01T17:36:41.544Z",
"description": "essa memória deve aparecer por segundo",
"category": "testes",
"timelineID": "62bf30a95bd3be0daadb34f3"
}

E como exemplo de estrutura de timeline:

[{
"title": "minha nova timeline",
"description": "uma timeline para testes"
}]

rotas

A partir das requisições para a API, é possível:

Verbo Rota Função
get "/memories" acessar todas as memórias
get "/memory/:id" acessar memória pelo ID
get "/memories/timeline/:id" acessar memórias pela timeline
get "/memories/category" acessar memórias pela categoria
get "/public/memories" acessar todas as memórias públicas (não-arquivadas)
get "/public/category" acessar as memórias públicas (não-arquivadas) por categoria
get "/public/timeline/:id" acessar as memórias públicas (não-arquivadas) por timeline
get "/public/categoryandtimeline/:id" acessar as memórias públicas (não-arquivadas) por categoria e timeline
get "/archived/category" acessar as memórias arquivadas por categoria
get "/archived/timeline/:id" acessar as memórias arquivadas por timeline
get "/archived/categoryandtimeline/:id" acessar as memórias arquivadas por categoria e timeline
get "/timelines" acessar todas as timelines
get "/timeline/:id" acessar timeline por ID
get "/people" acessar todas as pessoas usuárias
post "/memory" cria uma nova memória
post "/timeline" cria uma nova timeline
post "/person" cria uma nova pessoa usuária
post "/person/login" efetua login de uma pessoa usuária
patch "/memory/:id" atualiza memória por ID
patch "/archive/:id" arquiva memória por ID
patch "/timeline/:id" atualiza timeline por ID
delete "/memory/:id" exclui uma memória por ID
delete "/timeline/:id" exclui uma timeline por ID
delete "/person/:id" exclui uma pessoa usuária por ID

A documentação também pode ser acessada aqui.

banco de dados

Para esta aplicação, utilizei o MongoAtlas DB em conjunto com a dependência mongoose.

autentificação

Para a manutenção e proteção da segurança das rotas, utilizei o sistema do jsonwebtoken, em conjunto com um encriptador em hash.

testes

Testei as rotas de CRUD com o auxílio do jest, construindo casos para retorno de cada elemento das schemas de timeline e memória, bem como a alteração, exclusão e criação de objetos.

contato

LinkedIn

Instagram

About

Projeto final para o curso de back end da {Reprograma}. Trata-se de uma API que gera timelines para armazenar a história de pessoas trans e travestis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages