mr-ufukgurbuz / spring-boot-react-typescript-full-stack-app-demo

This project is a boilerplate which contains backend (SpringBoot, Hibernate, SQL/NoSQL) and frontend (React/Typescript) technologies.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spring Boot + React + Typescript + Hibernate Boilerplate

springBoot-logo

react-logo

typescript-logo

hibernate-logo

CircleCI Code Climate Issue Count

A boilerplate for Spring Boot + React + Typescript projects with Hibernate (H2 and MongoDB)

Includes:

Front-end:

  • React and Typescript boilerplate files
  • AntD (Ant Design) React UI library
  • Axios promise-based HTTP Client

Back-end:

  • SpringBoot boilerplate files
  • Maven build project structure
  • Hibernate Object Oriented Database Management
  • H2 embedded database integration
  • MongoDB NoSQL database integration
  • log4j2 new generation logging
  • JUnit unit tests

Setup

You should install above technologies and tools to your computer. You can search these instructions in Google.

Build and Run

First of all you need to configure the database. Properties are located in ./backend/src/main/resources/application.properties file.

By default application is using H2 and MongoDB databases.

H2 in-memory database (name: testdb).

MongoDB database (name: demo-app-db, user: user, password: password).

  1. Run npm clean install --prefix frontend to install front-end dependencies.
  2. Run npm run build:prod --prefix frontend to build React/Typescript application.
  3. Run mvn clean compile -f backend to compile a spring boot application.
  4. Run mvn install -f backend to start spring boot application on embedded server.

By default backend server will be running on port 8080.

Development

  • npm start --prefix frontend to start front-end server for development.
  • npm run start:prod --prefix frontend to start front-end server with service-workers.
  • mvn install -f backend to start spring boot application on embedded server.

By default frontend server will be running on port 3000

Testing

  • npm test --prefix frontend - to run front-end unit tests.
  • mvn test -f backend - to run backend server tests.

Technologies used

Back-end:

Front-end:

License

springBoot-react-typescript-boilerplate is released under the MIT License.

About

This project is a boilerplate which contains backend (SpringBoot, Hibernate, SQL/NoSQL) and frontend (React/Typescript) technologies.

License:MIT License


Languages

Language:Java 48.4%Language:TypeScript 44.8%Language:CSS 3.7%Language:JavaScript 1.6%Language:HTML 1.4%