Skip to content

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, using Spring, Spring Boot, Mybatis, Mysql, lombok, Vue 3.0, Vue ClI, Ant Design Vue, axios, wangeditor, redis, RocketMQ buil…

Notifications You must be signed in to change notification settings

fengliu1227/Wiki-Repository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

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.

Technology Stack

Backend:

Spring, Spring Boot, Mybatis, Mysql, lombok(easy for getter and setter, etc.)

Frontend:

Vue 3.0, Vue ClI, Ant Design Vue, axios (data interaction between backend and frontend), wangeditor(Rich text editor)

Middleware:

redis(store token), RocketMQ(send message for all user)

How to use:

  1. Configure database information in src/main/source/application.properties.
  2. Configure the websocket and backend url in web/.env.dev or web/.env.prod/
  3. Make sure you created Schema named wiki.
  4. go to the web folder and $npm install.
  5. 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
  1. execute the .sql file in sqlScript => main.sql, make sure you connect to your database first.
  2. run the spring boot application in src/main/java/com/andrew/wiki/WikiApplication.java. Of course you can just use your IDE
  3. run the Vue application:
    vue-cli-service serve --mode dev // run in dev environment
    vue-cli-service serve --mode prod // run in production environment

User information:

Role: User

Login name: user1
PassWord: user

Role: Admin

Login name: admin1
PassWord: admin

Database ER

image

Page Layout

user home page

image

category in the home page

image

admin home page

image

admin user mgmt. page

image

admin ebook mgmt. page

image

admin doc mgmt. page

if the doc mgmt. button was clicked. The admin doc mgmt. page will show
image

admin category mgmt. page

image

statistic page

image

About

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, using Spring, Spring Boot, Mybatis, Mysql, lombok, Vue 3.0, Vue ClI, Ant Design Vue, axios, wangeditor, redis, RocketMQ buil…

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published