<b>ReactJS-Spring-Boot-Full-Stack-App</b>
<hr>
This project consists of two applications: one is a Spring Boot Rest API
called spring-backend and another is a ReactJS application called
react-frontend.
Service-oriented platform focusing on establishing and maintaining
connections between consumers and small businesses in the The Arts,
Entertainment, and Recreation sector.
Click [here](https://www.hobbie.ch) to view the application.
This application is subject to Copyright.
<b>Applications</b>
<hr>
<b> - spring-backend</b>
Spring Boot Web Java backend application that exposes a REST API to
manage hobbies. Its secured endpoints can just be accessed if an access
token (JWT) is provided.
spring-backend stores its data in a MySql database.
spring-backend has the following endpoints
<b>-react-frontend</b>
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.
<b>Prerequisites</b>
<hr>
-Java 11+
-npm
-JWT
<b>Set up</b>
<hr></hr>
Clone the repository:
<pre>git clone https://github.com/purshink/ReactJS-Spring-Boot-Full-Stack-App.git</pre>
Navigate to the newly created folder:
<pre>cd ReactJS-Spring-Boot-Full-Stack-App</pre>
<b>Frontend -</b>
Install NodeJs.v.16.13.1 /npm v.8.3.0
Navigate to react-frontend subfolder:
<pre>cd react-frontend</pre>
Install the modules
<pre>npm i</pre>
Start the application on local host:
<pre>npm start</pre>
Navigate to:
http://localhost:4200
<b>Backend -</b>
Install JDK 11.0.11
Install docker -v 20.10.7
Install docker-compose -v 1.8.0
Navigate to spring-backend subfolder:
<pre>cd spring-backend</pre>
Run the project with:
<pre>docker-compose up --build</pre>
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.
<pre>The backend will run on http://localhost:8080 </pre>
<b>Spring Mail</b>
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.
没有合适的资源?快使用搜索试试~ 我知道了~
SpringMVC精品资源--ReactJS-Spring-Boot-Full-Stack-App.zip
共208个文件
java:70个
js:49个
jsx:37个
需积分: 5 0 下载量 179 浏览量
2024-02-18
12:48:57
上传
评论
收藏 11.75MB ZIP 举报
温馨提示
SpringMVC精品资源--ReactJS-Spring-Boot-Full-Stack-App
资源推荐
资源详情
资源评论
收起资源包目录
SpringMVC精品资源--ReactJS-Spring-Boot-Full-Stack-App.zip (208个子文件)
mvnw.cmd 7KB
Hobbie.module.css 5KB
Forms.module.css 4KB
UserHome.module.css 4KB
CreateOffer.module.css 4KB
Test.module.css 2KB
Presentation.module.css 1KB
Background.module.css 1KB
Navbar.module.css 1KB
Account.module.css 1KB
Gallery.module.css 1KB
Cover.module.css 1008B
Footer.module.css 910B
App.css 898B
Logo.module.css 436B
Header.module.css 202B
index.css 0B
Dockerfile 116B
.gitignore 395B
.gitignore 310B
index.html 1KB
favicon.ico 4KB
maven-wrapper.jar 57KB
HobbyControllerTest.java 10KB
UserController.java 9KB
UserServiceImpl.java 9KB
UserServiceTest.java 8KB
HobbyServiceImpl.java 7KB
UserControllerTest.java 7KB
HobbyController.java 6KB
HobbyServiceImplTest.java 5KB
Hobby.java 4KB
HobbyInfoDto.java 4KB
HobbyInfoUpdateDto.java 4KB
SecurityConfiguration.java 3KB
Test.java 3KB
JWTUtility.java 3KB
JwtFilter.java 2KB
TestControllerTest.java 2KB
UserRoleServiceImplTest.java 2KB
AppClient.java 2KB
TestServiceImpl.java 2KB
LocationServiceImplTest.java 2KB
HobbieUserDetailsService.java 2KB
AbstractTest.java 2KB
CategoryServiceImpl.java 2KB
LocationServiceImpl.java 2KB
UserEntity.java 1KB
CategoryServiceTest.java 1KB
HomeController.java 1KB
BusinessOwner.java 1KB
UserService.java 1KB
UserRoleServiceImpl.java 1KB
DBInit.java 1KB
NotificationServiceImpl.java 1KB
AppClientSignUpDto.java 1KB
TestController.java 1KB
BusinessRegisterDto.java 1KB
TestServiceImplTest.java 949B
HobbyService.java 855B
CloudConfig.java 829B
UpdateAppClientDto.java 823B
UpdateBusinessDto.java 782B
GlobalAdvice.java 725B
Category.java 603B
HobbieConfigurationBeans.java 602B
OpenApi30Config.java 589B
Location.java 576B
UserRoleEntity.java 538B
HobbieBackendApplication.java 534B
HobbyRepository.java 501B
BusinessOwnerRepository.java 480B
UserRoleRepository.java 474B
CategoryRepository.java 464B
LocationRepository.java 460B
UserRepository.java 445B
BaseEntity.java 427B
AppClientRepository.java 394B
UserRoleService.java 332B
LocationService.java 316B
CategoryService.java 314B
NotificationService.java 310B
TestRepository.java 294B
JwtRequest.java 260B
JwtResponse.java 232B
HobbieBackendApplicationTests.java 227B
FailToDeleteException.java 185B
NotFoundException.java 177B
TestService.java 165B
CategoryNameEnum.java 149B
UserRoleEnum.java 114B
LocationEnum.java 112B
GenderEnum.java 105B
1.jpg 3.62MB
5.jpg 1.94MB
3.jpg 1.39MB
6.jpg 1.3MB
4.jpg 766KB
creative.jpg 334KB
2.jpg 49KB
共 208 条
- 1
- 2
- 3
资源评论
码农阿豪
- 粉丝: 9944
- 资源: 1750
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 文件批量改名神器10.0一款简单易用的批量文件重命名工具(已注册PRO版本).rar
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功