All Projects → tomoyane → springboot-bestpractice

tomoyane / springboot-bestpractice

Licence: MIT license
SpringBoot best practice architecture. Using Spring Security, Spring Data JPA.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to springboot-bestpractice

vbo365-rest
Unofficial Self-Service Web Portal for Veeam Backup for Microsoft Office 365
Stars: ✭ 44 (-13.73%)
Mutual labels:  restful-api
SpringsScala
Sample Projects for Creating Springs Web services in Scala
Stars: ✭ 16 (-68.63%)
Mutual labels:  restful-api
grapevine
Fast, unopinionated, embeddable, minimalist web framework for .NET
Stars: ✭ 72 (+41.18%)
Mutual labels:  restful-api
RxRetroSwift
A Reactive way inspired by the simplicity of Retrofit when creating REST API Calls.
Stars: ✭ 67 (+31.37%)
Mutual labels:  restful-api
software-systems-architecture
A collection of descriptions of the architecture that various systems use.
Stars: ✭ 24 (-52.94%)
Mutual labels:  restful-api
mrapi
A framework for rapid development of API or DAL applications.
Stars: ✭ 20 (-60.78%)
Mutual labels:  restful-api
serverless-rest-api
Building RESTful Web APIs with Firebase Cloud Function, Firestore, Express and TypeScript
Stars: ✭ 103 (+101.96%)
Mutual labels:  restful-api
goexpress
An Express JS Style HTTP server implementation in Golang
Stars: ✭ 87 (+70.59%)
Mutual labels:  restful-api
sanic-currency-exchange-rates-api
This is a self hosted, free, open source Python Currency Exchange Rate API fork.
Stars: ✭ 20 (-60.78%)
Mutual labels:  restful-api
project-3-crm
⭐crm 客户关系管理系统模板⭐一个不错的后台管理种子项目,拥有自由设置角色自由分配权限🔑的权限管理功能,三员管理多员管理均可,前端antd vue admin后端spring-boot-api-seedling 拥有完善的功能。文档包含需求文档,设计文档和测试文档等。同时配置了travis,拥有集成测试和自动构建的功能。
Stars: ✭ 128 (+150.98%)
Mutual labels:  restful-api
papermerge-core
Papermerge RESTful backend structured as reusable Django app
Stars: ✭ 103 (+101.96%)
Mutual labels:  restful-api
symfony-todo-backend
This is the result of all the videos that were created in the series that i published on the playlist. LINK BELOW
Stars: ✭ 172 (+237.25%)
Mutual labels:  restful-api
cubic
📦 Easy to scale, zero-config, real-time focused app platform for node.js
Stars: ✭ 16 (-68.63%)
Mutual labels:  restful-api
gorest
Go RESTful API starter kit with Gin, JWT, GORM (MySQL, PostgreSQL, SQLite), Redis, Mongo, 2FA, email verification, password recovery
Stars: ✭ 135 (+164.71%)
Mutual labels:  restful-api
travels-api
API for Travels Management - UFLA Comp Jr/20 anniversary event
Stars: ✭ 22 (-56.86%)
Mutual labels:  restful-api
swagger-brake
Swagger contract checker for breaking API changes
Stars: ✭ 49 (-3.92%)
Mutual labels:  restful-api
ecommerce api
E-commerce by Django Rest Framework
Stars: ✭ 156 (+205.88%)
Mutual labels:  restful-api
kontenbase
Kontenbase is a no code backend API platform / Backend as a Service (BaaS)
Stars: ✭ 98 (+92.16%)
Mutual labels:  restful-api
dawn-api
A RESTful API package
Stars: ✭ 25 (-50.98%)
Mutual labels:  restful-api
node-server-template
This is Node.js server tidy template / boilerplate with Express (with asyncified handlers, custom error handler) framework and MongoDb. The server use ES6 and above. On different branches you can see different techniques' and technologies' usage, such as Kafka, nodemailer, file download... You also can find postman collections.
Stars: ✭ 116 (+127.45%)
Mutual labels:  restful-api

SpringBoot best practice

springboot-bestpractice MIT License

About Spring Boot best practice architecture.

Environment variable

Name Description
SPRING_PROFILES_ACTIVE Spring runtime environment
MYSQL_DB_HOST Database host
MYSQL_DB_NAME Database name
MYSQL_DB_USER Database username
MYSQL_DB_PASS Database password
REDIS_DB_HOST Redis host
REDIS_DB_PORT Redis port
REDIS_DB_PASS Redis password

Spring Active Profiles (Local)

Local development property file is application-local.yml.

$ export SPRING_PROFILES_ACTIVE="local"

Working on docker container.

  • Docker Image
    • MySQL
    • Redis
    • OpenJDK

Cassandra cluster.

  • CentOS7 virtual machine
  • 3 nodes

MySQL (5.5)

Sample query is sql/mysql_sample.sql file.

Sample Class

  • UserEntity.java
  • UserService.java
  • UserRepository.java
  • InfoEntity.java
  • InfoService.java
  • InfoRepository.java

Redis

Sample Class

  • UserService

Spring Active Profiles (Develop)

Develop development property file is application-dev.yml.

$ export SPRING_PROFILES_ACTIVE="dev"

Build

Git clone.

$ git clone https://github.com/tomoyane/springboot-bestpractice.git

Run test.

./gradlew test

Rub build.

./gradlew build 

Using docker container

Docker image build

  • Build SpringBoot best practice application.
  • Use docker for local development.
    • MySQL
    • Redis
    • OpenJDK
$ docker-compose build

Run container

$ docker-compose up -d

Authentication and Authorization

Spring security.

JWT.

Architecture

spring-boot-bestpracite
├── main
│   ├── java
│   │    └── com
│   │        └── bestpractice
│   │           └── api
│   │               ├── App.java
│   │               ├── common
│   │               │   ├── config
│   │               │   ├── property
│   │               │   └── util
│   │               │
│   │               ├── controller
│   │               │   ├── Advice.java
│   │               │   ├── v1
│   │               │   └── v2
│   │               │
│   │               ├── domain
│   │               │   ├── entity
│   │               │   ├── model
│   │               │   ├── repository
│   │               │   └── service
│   │               │
│   │               ├── exception
│   │               │
│   │               └── security
│   │                   ├── filter
│   │                   └── role
│   │ 
│   └── resources
│       ├── application-dev.yml
│       └── application-local.yml
└── test
    ├── java
    │   └── com
    │       └── bestpractice
    │           └── api
    │               ├── AppTests.java
    │               │
    │               ├── common
    │               │
    │               ├── controller
    │               │
    │               ├── repository
    │               │
    │               └── service
    │
    └── resources
        └── application-test.yml

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].