Contents
  1. 1. Backend
    1. 1.1. Design
    2. 1.2. Global Functions
    3. 1.3. Module Functions
  2. 2. Frontend
    1. 2.1. Basic UI Components
    2. 2.2. Global Functions
    3. 2.3. Module Functions
  3. 3. References

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.
  • 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.

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.
  • 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.

References

Semantic Elements in HTML

Contents
  1. 1. Backend
    1. 1.1. Design
    2. 1.2. Global Functions
    3. 1.3. Module Functions
  2. 2. Frontend
    1. 2.1. Basic UI Components
    2. 2.2. Global Functions
    3. 2.3. Module Functions
  3. 3. References