Redo project summary

The project work is basically over, the general framework has been written, and four sub-modules have been written in detail. I don’t want to write the rest, because I feel that the ideas are almost realized, and the rest is manual work. The things planned in the early stage have basically been realized, and the file uploading and downloading have also been completed.

The redoing of the project probably took me more than 20 days of spare time. It started on the evening of the 18th and was basically completed on April 8th, including three weekends. The project uses a new framework, and the development efficiency is much higher than that of the company. I estimate that the overall project will take me one and a half months by myself, and no more than two months at most. In contrast, the company uses the company's 12 person-months. Among them, I mainly I don't want to read the two modules I made, the more troublesome they are to write, and the more bugs are changed (the main reasons are 4, 1 is the unreasonable design of the table structure, 2 uses ajax to render the template, and develops it by hand, which is very troublesome 3 for other modules Coupling changes take time 4. My front-end level is indeed relatively slag).

The main work and advantages of the new project:

  1. The permission system has been rewritten and orthogonalized with other modules, which greatly reduces the coding time and the difficulty of debugging. Now the front-end and back-end are basically just one line of code.
  2. The audit log system is rewritten and implemented using AOP. Only one annotation is required when calling, which decouples the audit system from other systems.
  3. The process is implemented in the state mode, which is more clear.
  4. The project module system has been rewritten to serve as the basis for the project permission system and audit system, and the hard-coded part of the code has been removed, and the module can be flexibly configured in the foreground.
  5. The separate project role module is removed, and the roles are uniformly configured in the system roles, which are distinguished by prefixes. Reduce the cost of independent development of modules.
  6. Changed the table structure of some tables, greatly reducing the difficulty of development, making the budget table (similar to the budget table) changed from the original several weeks (including debugging bugs) to be implemented by the code generator.
  7. The role assignment interface is rewritten, the front-end components are reused, and there is no need to rewrite it separately, and the original pre-made roles are changed to be freely added.
  8. Abandoning the original self-written solution and using ckfinder instead, which reduces the difficulty of development, and also realizes the assignment of permissions by project roles, and at the same time, the advanced features of ckfinder can be used.

areas for improvement.

When querying the file status, the module did not read it from the cache, and was too lazy to write it.

The budget estimate table can be rewritten into an excel-like component for online editing. I discovered a plug-in in April. After reading the document, I have no time to write it.

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325809119&siteId=291194637