1. Project development
2. Agile development
Agile development takes the evolution of user needs as the core, and adopts iterative and step-by-step methods for software development. In agile development, a software project is divided into multiple sub-projects at the initial stage of construction, and the results of each sub-project have been tested to be visual, integrable, and operational. In other words, a large project is divided into multiple small projects that are interrelated but can also be run independently, and completed separately, and the software is always in a usable state during the process.
scrum:
1. Split
Split requirements, split the whole project into several spring*n, each spring is a cycle, a milestone
Split each spring into several issues, each issue represents a task, and the development cycle is 1-2 days, which is assigned to programmers, such as login, registration, etc.
2. Development stage
Assign issue, create branch after getting issue
master:
dev: development branch, create a branch according to spring
spring1
For example: xxx has received two tasks, issue1 and issue2, which need to be completed within 3 days.
1. Create issue1 branch ---- Complete the issue1 task and submit the code to the issue1 branch.
2. Create issue2 branch ---- Complete the issue2 task and submit the code to the issue2 branch.
Migrate branch code:
1. Migrate the spring1 branch code to the issue1 and issue2 branches.
2. Migrate the code on the issue1 and issue2 branches to the spring1 branch.
spring2
Staging: test environment,
live
3. Programmer's daily tasks
3.1 Start of the day
daymeeting ----------- half an hour, everyone explains their work yesterday, the problems they encountered, and the daily planned tasks.
The first thing: Merge the main branch code to the branch developed by yourself.
Start your day coding
3.2 End of day
If the task is completed, merge the main branch code to this branch again - to resolve conflicts, you cannot change other people's code, and submit the code to your own task branch. For example: issue1 branch
If you do it yourself: Merge the task branch issue1 branch code back to the spring branch.
Send a daily report to the boss
4 spring completed
The dev branch will be merged to the staging branch for testing (ideal state), if there is no problem, the staging will be merged to live for deployment and operation
Deployment and operation is for customers to see, and customers give their opinions. If it is ok, it will enter the next spring, otherwise, it will modify the customer's feedback. Repeat the above steps until the customer is satisfied.
Avoid human and material things
3. Account module
1. Demand analysis
1.1 Registration
1.2 Login
1.3 Login Verification Code
1.4 If you log in incorrectly three times in a row, your account will be locked
1.5 Login is successful, jump to the dashboard page
2. Module
2.1 User Management
2.2 Role Management
1. Role
Roles: admin, manager, staff
admin: omnipotent
manager: Can do anything except delete users
staff: can only view and modify personal homepage, but cannot view user management, role management and resource management
Resource: Delete User
2.3 Resource Management
2.4 Personal homepage
4. Create a model
User: userName,password,List<Role> roles
Role: roleName
Resource: permition,List<Role> roles
5. Front-end template
1. Page Controller
127.0.0.1/login -------------get login page
127.0.0.1/register -------------get registered page
127.0.0.1/common/dashboard ---------------get background home page
127.0.0.1/account/profile ----------------get personal homepage
127.0.0.1/account/users --------------------get user list
127.0.0.1/account/role ------------------ get role management
127.0.0.1/account/profile ---------------------get resource management
2. Interface Controller
127.0.0.1/api/user ---------- post user json result ---- added
127.0.0.1/api/user ---------- put user json result ----Modify
127.0.0.1/api/user/{id} ---------- delete id path result ---- delete
127.0.0.1/api/user/{id} ---------- get id path user ---- query user according to id
127.0.0.1/api/users --------- post search json pageinfo ---- multi-condition query users page information
127.0.0.1/api/role---------- post role json result ---- added
127.0.0.1/api/role---------- put role json result ----Modify
127.0.0.1/api/role/{id} ---------- delete id path result ---- delete
127.0.0.1/api/role/{id} ---------- get id path role ---- query role according to id
127.0.0.1/api/roles --------- post search json pageinfo ---- multi-condition query roles paging information
127.0.01/api/roles ------------get null List<role> -----Query all roles
127.0.0.1/api/resouce---------- post resource json result ----add
127.0.0.1/api/resouce---------- put resource json result ----Modify
127.0.0.1/api/resource/{id} ---------- delete id path result ---- delete
127.0.0.1/api/resouce/{id} ---------- get id path resource ---- query resource by id
127.0.0.1/api/resouces --------- post search json pageinfo ---- multi-condition query resouces paging information
127.0.01/api/resouces ------------get null List<resouce> -----Query all resouces
6. Technology
Build the framework:
Mysql + redis + springboot +jpa + mybatis + thymeleaf + bootstrap + jquery + vue
7.vue
Pick up the vue chapter of my homepage