Building a Full Stack Polls app similar to twitter polls with Spring Boot, Spring Security, JWT, React and Ant Design
整理Backend代码,梳理警告,优化pom.xml文件
TODO:
1、待确定问题
1.1、确定是否引入querydsl,调整查询方式,目前使用JQL方式,代码重构和有效性校验弱一些,使用QDSL代价。。查询结果Bean的定义、使用和抽象规则清晰化
1.2、Controller和Service逻辑分层原则清晰化,目前Service弱化
1.3、画面请求、返回Bean(DTO)的清晰化,是否需要数据Converter层处理?
2、整理Common部分,与业务部分分离
3、完善Common部分功能
4、完善DB初始化工作
5、迁移上传代码
6、完善上传数据的持久化处理
I've written a complete tutorial series for this application on The CalliCoder Blog -
-
Clone the application
git clone https://github.com/callicoder/spring-security-react-ant-design-polls-app.git cd polling-app-server
-
Create MySQL database
create database polling_app
-
Change MySQL username and password as per your MySQL installation
-
open
src/main/resources/application.properties
file. -
change
spring.datasource.username
andspring.datasource.password
properties as per your mysql installation
-
-
Run the app
You can run the spring boot app by typing the following command -
mvn spring-boot:run
The server will start on port 5000. The spring boot app includes the front end build also, so you'll be able to access the complete application on
http://localhost:5000
.You can also package the application in the form of a
jar
file and then run it like so -mvn package java -jar target/polls-0.0.1-SNAPSHOT.jar
-
Add the default Roles
The spring boot app uses role based authorization powered by spring security. Please execute the following sql queries in the database to insert the
USER
andADMIN
roles.INSERT INTO roles(name) VALUES('ROLE_USER'); INSERT INTO roles(name) VALUES('ROLE_ADMIN');
Any new user who signs up to the app is assigned the
ROLE_USER
by default.
First go to the polling-app-client
folder -
cd polling-app-client
Then type the following command to install the dependencies and start the application -
npm install && npm start
The front-end server will start on port 3000
.