🔗
🖇️
Lyck Esta e a parte de backend de um encurtador de link que estou a desevolver.
🔧
🛠️
tecnologias - Express.
- Joi.
- Uuid.
- Module-alias.
- BcryptJs.
- JsonWebToken.
- Dotenv.
- TypeScript.
- PostgreSQL.
- TypeORM.
- Redis.
- Cors.
🏛
✏️
.
Metodologias - Clean architecture.
- Design patterns.
- Clean code.
- DDD.
- TDD.
📝
.
Requisitos da aplicação - login de usuário.
- cadastro de usuário.
- usuário que logou pode:
- encurtar o link.
- encurtar gerar GRcode do link.
- usuário que logou pode ver os status dos seus links.
- usuário que logou pode deletar o link.
- usuário que logou pode actualizar o link.
docs
-
[GET] /:link
-
[POST] /sigin
- Send:
{
"name":"any_name",
"email":"[email protected]",
"password":"12345678"
}
- response:
{
"id":"any_id",
"name":"any_name",
"email":"[email protected]",
"password":"12345678",
"created_at":"any_Date"
}
- [POST] /login
- Send:
{
"email":"[email protected]",
"password":"12345678"
}
- response:
{
"user": {
"id":"any_id",
"name":"any_name",
"email":"[email protected]",
"created_at":"any_Date"
},
"token": "any_token"
}
- Auth - Token
- [POST] /lyck
- Send:
{
"link":"https://exemple.br",
"description":"any_description"
}
- response:
{
"id":"any_id",
"link":"any_link",
"description":"any_desription",
"cut_link":"any_cut_link",
"created_at":"any_Date"
}
- [GET] /auth/lyck
- Send:
{
}
- response:
[
{
"id":"any_id",
"link":"any_link",
"description":"any_desription",
"cut_link":"any_cut_link",
"created_at":"any_Date"
},
{
"id":"any_id",
"link":"any_link",
"description":"any_desription",
"cut_link":"any_cut_link",
"created_at":"any_Date"
},
{
"id":"any_id",
"link":"any_link",
"description":"any_desription",
"cut_link":"any_cut_link",
"created_at":"any_Date"
}
]
feito com