Open Source MVP (Backend,Frontend,Mobile)

Live APP (Heroku Free apps sleep automatically after 30 mins of inactivity) :

https://open-mvp.herokuapp.com/

You can find this project on github : https://github.com/open-MVP
Download
Star

Project link: https://github.com/orgs/open-MVP/projects/1

Open source MVP code to build your idea faster. From Backend to Frontend and mobile in 1 click.

Build your MVP faster with the help of this project. Backend with JAVA 13 microservices and Spring Boot (Webflux and NoSql or SQL database connection) Frontend Angular application Mobile app with Flutter ready to build on Android and IOS.

BE :

Lombok, Reactive MongoDB, Reactive API with Spring WebFlux

Deploy on HEROKU.

1.Use the Heroku Config variable from your application.properties file

Application.Properties get mongodb.uri

System.getenv() is for Operating System environment variables, whereas System.getProperty() is for JVM arguments which are passed as -DpropName=value to Java application launcher

2. API documentation with Swagger compatible with Spring Webflux

Live documentation link : https://open-mvp.herokuapp.com/documentation.html

https://www.baeldung.com/spring-rest-openapi-documentation

3. Specify JRE (Java runtime environment) on Heroku for Java 13

Create a file in the project system.properties

I have set up automatic builds when the code changes on the Master branch

4. Live Healthcheck

https://open-mvp.herokuapp.com/api/healthCheck

5. OAuth 2.0 with Spring Webflux

OAuth with spring webflux github login

Returning the list of Repositories after login:

First issue :

org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144

https://github.com/spring-projects/spring-framework/issues/23961
https://github.com/spring-projects/spring-boot/issues/18828
// 2MB
ExchangeStrategies exchangeStrategies = ExchangeStrategies.builder()
        .codecs(configurer -> configurer.defaultCodecs().maxInMemorySize(1024 * 2 * 1000)).build();
return WebClient.builder()
        .filter(oauth)
        .exchangeStrategies(exchangeStrategies)
        .build();

Add your config variables:

OAuth Inspired by :

https://rieckpil.de/spring-webclient-oauth2-integration-using-github-as-an-example/

https://docs.spring.io/spring-security/site/docs/5.1.0.RELEASE/reference/html/webflux-oauth2.html

https://www.callicoder.com/spring-boot-security-oauth2-social-login-part-1/

https://www.devglan.com/spring-security/spring-boot-security-google-oauth

6. Heroku build from specific folder (not root folder)

git subtree push –prefix backend heroku master