- Notifications
You must be signed in to change notification settings - Fork77
ReactJS-Spring-Boot-Full-Stack-App
License
purshink/ReactJS-Spring-Boot-Full-Stack-App
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ReactJS-Spring-Boot-Full-Stack-App
This project consists of two applications: one is a Spring Boot Rest APIcalled spring-backend and another is a ReactJS application calledreact-frontend.
Service-oriented platform focusing on establishing and maintainingconnections between consumers and small businesses in the The Arts,Entertainment, and Recreation sector.
Clickhere to view the application.This application is subject to Copyright.
Applications
- spring-backend
Spring Boot Web Java backend application that exposes a REST API tomanage hobbies. Its secured endpoints can just be accessed if an accesstoken (JWT) is provided.
spring-backend stores its data in a MySql database.
spring-backend has the following endpoints
-react-frontend
ReactJS frontend application where users can find and save hobbies and businesses can manage offers. In order to access the application, user / business must login using his/her username and password. All the requests coming from react-frontend to secured endpoints in spring-backend have a access token (JWT) that is generated when user / business logs in.
react-frontend uses Semantic UI React as CSS-styled framework.
Prerequisites
-Java 11+
-npm
-JWT
Set up
Clone the repository:
git clone https://github.com/purshink/ReactJS-Spring-Boot-Full-Stack-App.git
Navigate to the newly created folder:
cd ReactJS-Spring-Boot-Full-Stack-App
Frontend -
Install NodeJs.v.16.13.1 /npm v.8.3.0
Navigate to react-frontend subfolder:
cd react-frontend
Install the modules
npm i
Start the application on local host:
npm start
Navigate to:
Backend -Install JDK 11.0.11Install docker -v 20.10.7Install docker-compose -v 1.8.0
Navigate to spring-backend subfolder:
cd spring-backend
Run the project with:
docker-compose up --build
The project has the following endpoints:
IMPORTANT: to explore api enter url: /v3/api-docs
http://localhost:8080/swagger-ui/index.html
NOTE: Testing API
-/signup (create client-user) or /register (create business-user)
-/authenticate (returns JWT authentication token)
-use JWT token in order to authorize access to secured endpoints (click the lock icon or use the Authorize button on the upper right corner - then paste JWT Token )
NOTE: /notification endpoint will return an internal server error if you don't specify spring.mail credentials first.
The backend will run on http://localhost:8080
Spring Mail
Make sure to specify a valid spring.mail.username and spring.mail.password in the application.properties file in order to be able to send an Email confirmation for updating user entries.
IMPORTANT: if you decide not to specify mail credentials, you will get javax.mail.AuthenticationFailedException. The rest of the application should work normally despite this exception.
About
ReactJS-Spring-Boot-Full-Stack-App
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.