- Table of Contents
- Introduction
- Full-stack Applications
- Social media links
- Commands used to build the project
- Follow me
An API sample showing how to create a basic Rest API and implement the CRUD operations with Pagination using Spring Security OAuth2 with JWT. First you have to obtain a JWT, you can go either to /oauth/token or to /auth/login, providing client_username:client_password form for http basic authentication as well as post body with username and password. Example: POST client1:password@localhost:8081/auth/login With client1:password as the client credentials. And {"username": "admin": "password":"password"} in the post Body. For more details and other examples look at the postman_collection.json file attached with this repo
This project uses Asymmetric cryptography.
- To create the private key used to sign the keys by the oauth-server I did:
keytool -genkeypair -alias melardev -keyalg RSA -keysize 2048 -keystore private.jks -validity 3650
- export public key from jks, this will be used by resource-server to validate tokens without having to contact the oauth-server
keytool -list -rfc --keystore private.jks | openssl x509 -inform pem -pubkey -noout -keyout public.pem
- Spring Boot
- Spring Data
- Spring Security
- Spring Security OAuth2 + JWT
- Hql
- Pagination
- Sorting
- Full CRUD
- Customizing Jackson JSON responses and strategies.
- H2 integration
- Seeding data with Faker
- Organizing applications
- Python Django + Rest Framework
- Python Django
- Python Flask
- Asp.Net Core
- Asp.Net Core + MediatR
- Asp.Net Core + NHibernate
- Asp.Net Core + ADO.Net
- Asp.Net Core + Dapper
- Asp.Net Web Api 2
- Asp.Net Web Api 2 + NHibernate
- Asp.Net Web Api 2 + ADO.Net
- Asp.Net Web Api 2 + Autofac
- Asp.Net Web Api 2 + Dapper
- Laravel
- Ruby On Rails
- Ruby On Rails + JBuilder
- Spring Boot + Spring Data JPA
- Spring Boot + Spring Data MonoDb
- Spring Boot + Reactive Spring Data MonoDb + Basic Auth
- Kotlin Spring Boot + Reactive Spring Data MonoDb + Basic Auth
- Kotlin Spring Boot + Spring Data MonoDb
- Kotlin Spring Boot + Spring Data JPA
- Spring Boot + JAX-RS(Jersey) + Spring Data JPA
- Spring Boot Reactive + MongoDB Reactive
- Kotlin Spring Boot Reactive + MongoDB Reactive
- Java Spring Boot Web Reactive + Spring Data
- Kotlin Spring Boot Web Reactive + Spring Data
- Go + GORM
- Go + GinGonic + GORM
- Go + Gorilla + GORM
- Go + Beego(Web and ORM)
- Go + Beego + GORM
- Express.JS + Sequelize ORM
- Express.JS + BookShelf ORM
- Express.JS + Mongoose
- Java Spring Boot Zuul + Rest
- Kotlin Spring Boot Zuul + Rest
- Java Spring Cloud Eureka + Gateway + EurekaClient Proxy + Rest
- Java Spring Cloud Eureka + Gateway + LoadBalancedRest Proxy + Rest
- Java Spring Cloud Eureka + Gateway + Cloud Stream RabbitMQ + Admin + Rest
- Java Spring Cloud Eureka + Gateway + Config + Rest Swagger
- Java Spring Cloud Eureka + Gateway + Admin + Cloud Stream RabbitMQ + RxProxy + RxRest
- Java Spring Cloud Eureka + Gateway + Webflux + RxMongoDB + Rx Proxy with WebClient
- Java Spring Cloud Eureka + Zuul + Config + Kafka + Rest
- Java Spring Cloud Eureka + Zuul + Config + Hystrix + Turbine + Feign + Rest
- Java Spring Cloud Eureka + Zuul + Feign + Sleuth + Zipkin + Rest
- Java Spring Cloud Eureka + Zuul + Admin + Rest
- Java Spring Cloud Eureka + Gateway + Config + Cloud Bus RabbitMQ + Rest
- Java Spring Cloud Eureka + Zuul + Rest + LoadBalancer Proxy
- Java Spring Cloud Eureka + Config Server + Zuul + Kafka + Discovery Client Proxy + Rest
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
- Vanilla javascript
- AspNet Core
- Asp.Net Core + NHibernate
- Asp.Net Core + MediatR
- Asp.Net Core + ADO.Net
- Asp.Net Core + Dapper
- Asp.Net Web Api 2
- Asp.Net Web Api 2 + NHibernate
- Asp.Net Web Api 2 + ADO.Net
- Asp.Net Web Api 2 + Autofac
- Asp.Net Web Api 2 + Dapper
- Spring Boot + Spring Data + Jersey
- Spring Boot + Spring Data
- Spring Boot + Spring Data MonoDb
- Kotlin Spring Boot + Spring Data MonoDb
- Spring Boot Reactive + Spring Data Reactive
- Java Spring Boot Web Reactive + Spring Data
- Kotlin Spring Boot Reactive + MongoDB Reactive
- Kotlin Spring Boot Web Reactive + Spring Data
- Spring Boot + Reactive Spring Data MonoDb + Basic Auth
- Kotlin Spring Boot + Reactive Spring Data MonoDb + Basic Auth
- Go + GORM
- Go + Gin Gonic + GORM
- Go + Gorilla + GORM
- Go + Beego(Web and ORM)
- Go + Beego(Web) + GORM)
- Laravel
- Rails + JBuilder
- Rails
- NodeJs Express + Sequelize
- NodeJs Express + Bookshelf
- NodeJs Express + Mongoose
- Python Django
- Python Django + Rest Framework
- Python Flask
- NodeJs Express + Knex
- Flask + Flask-Restful
- Laravel + Fractal
- Laravel + ApiResources
- Go with Mux
- AspNet Web Api 2
- Jersey
- Elixir
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
- Vanilla javascript
- Spring Boot + Spring Data Hibernate
- Spring Boot + JAX-RS Jersey + Spring Data Hibernate
- Node Js + Sequelize
- Node Js + Bookshelf
- Node Js + Mongoose
- Python Django
- Flask
- Golang go gonic
- Ruby on Rails
- AspNet Core
- Laravel
The next to come are:
- Spring Boot + Spring Data Hibernate + Kotlin
- Spring Boot + Jax-RS Jersey + Hibernate + Kotlin
- Spring Boot + mybatis
- Spring Boot + mybatis + Kotlin
- Asp.Net Web Api v2
- Elixir
- Golang + Beego
- Golang + Iris
- Golang + Echo
- Golang + Mux
- Golang + Revel
- Golang + Kit
- Flask + Flask-Restful
- AspNetCore + NHibernate
- AspNetCore + Dapper
This client side E-commerce application is also implemented using other client side technologies:
- Angular NgRx-Store
- Angular + Material
- React + Material
- React + Redux + Material
- Vue + Material
- Vue + Vuex + Material
- Ember
- Youtube Channel I publish videos mainly on programming
- Blog Sometimes I publish the source code there before Github
- Twitter I share tips on programming
- Instagram I share from time to time nice banners