Java Management System Core Functions
Backend
Design
- Class hierarchy design.
Global Functions
- Core
- For user
- Authentication and authorization(menu, privilege, data scope). Sign in and sign out. Session Expiration Time. User, role, privilege. Data privilege and operation privilege.
- File upload and download.
- Scheduling Tasks.
- For system
- Exception handling. Error message encapsulation.
- Logging. Method logging with AOP and annotations.
- Cache handling.
- Concurrency and asynchronization.
- Testing. Unit testing.
- HTTP clients
- For user
- Others
- For user
- File online preview.
- File conversion.
- SSO (Single Sign on)
- Web Socket and browser notification. Push messages to client browser pages. (implemented by WebSocket or Ajax loop call)
- Workflow.
- I18n (database value, Java string value, JSP element value)
- Full-text Search by Elasticserach.
- For system
- Filter error request.
- Enable CORS(Cross-Origin Resource Sharing) on server-side.
- Prevent duplicate form submission.
- Using multiple data sources.
- Performance optimization. For example, MySQL optimization. Indexing, optimizing schema and SQL. JVM optimization.
- Data import into and export from MySQL and Elasticsearch.
- Third party API access.
- HTTPS.
- Reverse Proxy Server.
- DevOps. Git Flow, code review, test, package, deployment.
- Crawler and anti-cralwer.
- For user
Module Functions
RESTful API. CRUD API + UI pages (single table, left tree right table, one-to-many nested tables)
- Request parameters to POJO. E.g. spring framework
@ModelAttribute
,@RequestBody
. - Data validation. E.g. spring framework
@Validated
). - Type conversion. E.g. spring framework
@DateTimeFormat
for datetime,@JsonSerialize
for enumeration). - Data formatting. E.g. spring framework
@JsonFormat
for datetime,@JsonValue
form enumeration). - Service transaction.
- Persistence. CRUD.
- Request parameters to POJO. E.g. spring framework
Table data import from and export to Excel file.
Aggregation query (SQL, ES) and UI charts.
Unit tests.
Frontend
Basic UI Components
- Top bar
<header>
. (Logo, website name, user center link, login/logout) - Horizontal navigation bar
<nav>
. - Left vertical sidebar menu
<aside>
. - Breadcrumb.
- Content area
<main>
,<section>
,<article>
. (Search, Table and pagination, Form) - Bottom footer
<footer>
.
Global Functions
- Copy text.
- View bigger picture.
- Prevent duplicate form submission.
- Redirect to another page.
- Send CRUD HTTP requests. Submit form.
- Initialize operation privilege.
- Load components.
- File structure. Separated index, edit, view page.
- Alert success and error message.
- Send CORS Ajax request with jQuery.
- Send browser notifications.
Module Functions
- List page
- Initialize operation privilege.
- Initialize index page. Display breadcrumb, load search area elements (input, select, date time picker), display operation buttons row, load table and pagination, additionally, may load left area tree.
- Index page add, edit, delete, search, import/export buttons bind events.
- Search. Send request with form serialize or FormData.
- Delete rows.
- Edit page
- Initialize edit page title, form elements, and submit button. Form elements: input, radio, checkbox, select, select picker, file, rich text editor, date time picker, and input tags.
- Add edit page bind events.
- Form data validation. Show error messages.
- Save or update. Submit form, send request with FormData or JSON.
- Other page
- Statistical charts.
- Complex page layout and style.