Skip to content

GitDiego123/postable-rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Postable – RESTful API Objetivo

Desarrollar una RESTful API para una red social que permita a los usuarios registrarse, autenticarse, crear publicaciones y gestionar likes, diferenciando usuarios autenticados y no autenticados.

Tecnologías

TypeScript

Express.js

PostgreSQL

pg

JWT

bcrypt

dotenv

Arquitectura

Arquitectura MVC (Model – View – Controller).

src/ ├── controllers/ ├── models/ ├── routes/ ├── middlewares/ ├── config/ └── server.ts

Base de Datos

Tablas:

users

posts

likes

Relaciones:

Un usuario tiene muchos posts

Un post tiene muchos likes

Un usuario solo puede dar un like por post

Autenticación

JWT (JSON Web Token)

Header requerido:

Authorization: Bearer

Variables de Entorno

.env

PORT=3000 JWT_SECRET=supersecretjwt JWT_EXPIRES_IN=1d

Instalación git clone cd postable/backend npm install npm run dev

Servidor:

http://localhost:3000

Endpoints Principales

Auth

POST /signup

POST /login

Posts

GET /

GET /:username

POST /posts

PATCH /posts/:id

Likes

POST /posts/:postId/like

DELETE /posts/:postId/like

Perfil

GET /me

PATCH /me

DELETE /me

Pruebas

Las pruebas se realizaron con Insomnia, validando:

Autenticación JWT

Acceso a rutas protegidas

Manejo de errores (401, 404)

Estado

API funcional, cumple los requerimientos y está lista para evaluación.

Autor: Diego Rentería Proyecto académico – Full Stack Development

About

RESTful API for posts with JWT authentication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors