This web application is a repository that stores Ebooks for public. The admin could upload the ebooks on this website and set the category, So it is open source for the user to view and learn the new thing from the ebooks, built with RESTful architectural style and managed by MAVEN.
mybatis generator => auto generator the bean, mapper and .xml file
Lomok => so easy to buld a class
redis => store a token
Ant Design Vue => make it easy for the style of the page
Vue 3.0, Vue Cli => develop the frontend
RocketMQ => Decouple the spring boot aplication and the message function
spring, Spring boot => never felt so easy to develop a web application before
Unify request and response classes and formats to facilitate the scanning of receiving data and using data, it also make it easier to vaildify the data passed in backend.
Designed reuseable components for front-end.
Spring, Spring Boot, Mybatis, Mysql, lombok(easy for getter and setter, etc.)
Vue 3.0, Vue ClI, Ant Design Vue, axios (data interaction between backend and frontend), wangeditor(Rich text editor)
redis(store token), RocketMQ(send message for all user)
- Configure database information in src/main/source/application.properties.
- Configure the websocket and backend url in web/.env.dev or web/.env.prod/
- Make sure you created Schema named wiki.
- go to the web folder and $npm install.
- if you want to use RocketMQ, download it, The thing you need to notice:
nohup sh bin/mqnamesrv & //start server
nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & // start broker(don't use the commend in the offical website if you want to auto create topic)
sh bin/mqshutdown broker //stop broker
sh bin/mqshutdown namesrv // stop server
- execute the .sql file in sqlScript => main.sql, make sure you connect to your database first.
- run the spring boot application in src/main/java/com/andrew/wiki/WikiApplication.java. Of course you can just use your IDE
- run the Vue application:
vue-cli-service serve --mode dev // run in dev environment
vue-cli-service serve --mode prod // run in production environment
Login name: user1
PassWord: user
Login name: admin1
PassWord: admin
if the doc mgmt. button was clicked. The admin doc mgmt. page will show