Coder Social home page Coder Social logo

security-starter-backend's Introduction

security-starter-backend

Spring Boot starter project to work with joko-security

Stack tecnológico

El proyecto utiliza el siguiente stack tecnológico:

  • Spring Boot 2
  • Java 11
  • PostgreSQL 15
  • Kotlin Gradle

Configuración

Base de Datos

En la carpeta /src/main/resources/ se encuentra el dump (joko-db.sql) de la base de datos que contiene los scripts para la creación de las tablas que utiliza el proyecto. Además en esta carpeta encontrarás el archivo application.properties donde podrás configurar la base de datos a utilizar junto con sus propiedades.

Para restaurar la base de datos ejecuta el siguiente comando:

psql -U <usuario> -d <nombre_base_datos> -f <ruta_archivo_sql>

Obs: Reemplaza con el nombre de usuario de PostgreSQL, <nombre_base_datos> con el nombre de la base de datos que deseas restaurar y <ruta_archivo_sql> con la ruta completa al archivo SQL generado con pg_dump

Dependencias

El proyecto utiliza como base la librería security. Dicha librería se descarga de un artifactory privado que no está versionado, para obtener el enlace contáctanos.

Secret

El sistema necesita un secreto para firmar los tokens. Este secreto puede ser guradado en dos lugares:

  • BD: Si se guarda en la Base de datos va a la tabla joko_security.keychain
  • FILE: Si va al filesystem se debe configurar la propiedad joko.secret.file

ATENCIÓN: Es MUY importante que este secreto no sea accedido por terceras personas. La recomendacion para esto es:

  • BD: En este caso asigne permisos a la tabla con solo lectura y solamente para el usuario que se utiliza en la aplicacion.
  • FILE: Asigne permisos de lecutra y solo para el usuario que se utiliza al momento de levantar la aplicacion.

Obs.:En modo BD puede dejarse sin crear un archivo y el sistema va a crear un secreto la primera vez que se levanta.

Ejecución

  • Clona este repositorio en tu máquina local.
  • Navega hasta el directorio del proyecto: cd security-starter-backend
  • Abre una ventana de terminal o línea de comandos en la raíz de tu proyecto.
  • Ejecuta el siguiente comando para compilar y construir el proyecto:

gradle build

Esto descargará todas las dependencias, compilará tu código y generará un archivo JAR ejecutable.

  • Una vez que la compilación haya finalizado con éxito, puedes ejecutar el proyecto con el siguiente comando:

java -jar build/libs/nombre-del-proyecto.jar

APIs proveídas

  • /api/status
  • /api/login
  • /api/secure/user/signup
  • /api/secure/user/create
  • /api/secure/user/update
  • /api/secure/user/list
  • /api/secure/user/get
  • /api/secure/user/delete

Obs: En la carpeta /src/main/resources/ encontrarás un archivo insomnia.json con la documentación de cada endpoint.

security-starter-backend's People

Contributors

griceldavaldez avatar ncanatta avatar mfatecha avatar

Watchers

James Cloos avatar Ale Feltes Quenhan avatar  avatar Leticia Pfannl avatar Rodrigo Villalba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.