API REST desarrollada en Laravel que usaré para gestionar mi portafolio en un futuro.
Detalles de esta API REST:
SOLID
En esta API implemento los principios SOLID, en el vídeo explico estos principios utilizando mis propios ejemplos.
TDD
Aplico TDD (Test Driven Development) con PHPUnit: Tests HTTP, base de datos y mocking de un método de un objeto para evitar que se ejecuten peticiones a una API externa.
Otros
Tiene una relación Many To Many, para la cual utilizo una tabla pivote. Esta API cuenta con autenticación, roles y autorizaciones.
Mykelt es una aplicación web que hice para un cliente que necesita un ecommerce y blog personalizados.
Soporta autenticación OAuth y es posible registrarse con la cuenta de Google. También incluye pagos con
Stripe.
Tecnologías principales.
El frontend está hecho en Angular y el backend es una API REST hecha con Laravel. Utilizo los paquetes
de Laravel Cashier (Stripe) y Socialite.
Ecommerce.
Para la implementación de los pagos usé el paquete de Laravel Cashier y Stripe.
Incluye carrito de la compra con casillas de verificación, selección de unidades y cálculo de precio
total.
Blog.
Utilizo la librería CKEditor para permitir la edición de artículos que posteriormente se almacenan en la
base de datos.
En el editor es posible cambiar la tipografía, el tamaño, añadir tablas e imágenes.
Solo las cuentas con rol de administrador pueden crear, editar y borrar artículos.
Autenticación.
Diferenciamos entre dos roles: usuario y administrador.
Uso el paquete de Laravel Socialite para incluir autenticación OAuth con Google.
Incluyo Json Web Token (JWT) para la creación de tokens de acceso.
Seguridad.
En Angular protejo las vistas con guards y en Laravel filtro las peticiones HTTP con middlewares.
Las contraseñas están encriptadas con Laravel Hash que proporciona una encriptación con Bcrypt, que está
basado en el cifrado de Blowfish.
Las contraseñas están encriptadas con PASSWORD_DEFAULT, que utiliza el algoritmo bcrypt y se actualiza
siempre que se añada un algoritmo nuevo más fuerte.
El Frontend está desarrollado en Angular y alojado en GitHub Pages. El estilo de la
aplicación
con CSS y Bootstrap. Con TypeScript desarrollé funciones que acceden a APIs de MorningStar, Yahoo
Finance
y
COVID-19 data.
Conecta con el Back-end a través de peticiones REST que hacemos con el módulo HttpClient para
registrarnos,
identificarnos o modificar los productos financieros que están en la base de datos.
El Backend es una API REST creada con Spring Boot que utiliza Java Persistance API (JPA)
para
manejar datos relacionales con Java.
Este Backend está alojado en un plan gratuito de Heroku. Practiqué el CRUD con una base de datos MySQL
en
la
fase de desarrollo, posteriormente conecté la API a la base de datos PostgreSQL de Heroku.