This is a simple Microblogging web application. Any resemblance to existing internet services is coincidental.
This project uses [Spring MVC], [Spring Data JPA], [Spring Security], and [Apache Tiles].
Copyright © 2023-, Peng Minghua. Licensed under [Apache License, Version 2.0].
This project requires a [Java Development Kit] v11 or newer and [Apache Maven] 3 to compile the source code.
This webapp requires a database, so setup one and add the following JNDI entry to your servlet container: jdbc/moikiitos
.
Add your database settings like username & password to this file if using Tomcat: src/main/webapp/META-INF/context.xml
, copy it under '$TOMCAT_HOME/conf/'.
The schema will be created when the application starts. Or you can import data.sql to your database, you can use pmh/password
to login.
The app includes database drivers for [MySQL] 8 and uses that dialect by default.
First, download the latest and greatest source code:
git clone [email protected]:pmh905001/moikiitos.git
Build and run the code with the following commands:
cd moikiitos
mvn clean install
mvn tomcat7:run
Then open your browser to this address: http://localhost:8080/moikiitos/
This project does not require an IDE, but is setup to be edited using an [Eclipse].
- Create a new workspace
- click File -> Open Projects from File System... -> Import Source
- For the root directory, select the moikiitos directory from the git repository you cloned locally.
- click Finish
- Based & referenced to existed project https://github.com/d-rep/Microblog/
- Upgrade to java 11 and make it can run.
- Update context.xml to fix utf8 encoding character & time zone of MySQL.
- Re-factor code to remove useless log.
- Update UI layout and wording for all views.
- Optimized feed list view, e.g hide words if overflow.
- Support confirmation password and URL to redirect on register view.
- Support email account to register/login/query and displayed as one column by extends JdbcUserDetailsManager.
- Add following/followers views & displaying the number by the filter.
- Make feed items can be displayed more text.
- Some unit tests failed due to java version or incompatibility package.
- Global exception handler.
- Upgrade to latest version of Spring & TOMCAT version to fix Fix jaxb-api-2.3.0.jar issue on start service
- Re-factor code to expose RESTful APIs to support other devices and separating front and back end.
- Use cache(redis/mq) to improve performance if necessary, e.g number of following/follower, feed list.