I studied in the UK and shared with 4 roommates. In order to better control and monitor public expenditures and maintain the balance of public expenditures between each other, I designed and developed this ERP public expenditure planning system during the welcome Wednesday. I hope that this system will make life easier for the next year, reduce conflicts between everyone, and promote the sustainability of public expenditure projects full of happiness OωO
mail系统使用Yimian Mail API快速构建。
- Calculate the daily average weekly flow rate to visualize public expenditure
- The user declares a public expenditure and submits the invoice photo certificate
- Monitor the disequilibrium of expenditure among members, calculate the variance, and display it visually
- Compare spending this week and last week, and give the percentage increase or decrease
- When there is one person whose expenditure exceeds the average threshold, and there is at least one person whose expenditure is less than the average threshold, the two people will be emailed to generate an internal transaction
- When the recipient receives the money in the above example, he needs to go to the platform to confirm receipt
- All historical public expenditures and invoices on the platform can be checked
The front end is based on a Bitcoin website platform template found on the Internet, and a deep transformation is realized. It is worth mentioning that the front end uses Ushio-js project as a security and logging plug-in, and got Ushio The system does behind the scenes.
The backend is written in php language. Provides 5 interfaces, which respectively provide the functions of obtaining account events, obtaining internal circulation information, obtaining public expenditure information, obtaining weekly statements, and operating.
The mail system is quickly constructed using Yimian Mail API.
The database uses yimian-db/mysql. Three tables are constructed, which are used to store flow, public expenditure details, and internal circulation.
Directly quote the code of 呓喵酱の图床 with a small amount of rewriting.
At present, it is simple to implement with additional web pages, waiting for the ushio-auth project to complete the unified integration.
Due to the epidemic, considering that everyone has withdrawn to China. To save server costs, stop providing services.
Combining the operation status of the past six months, I have made some analysis and summary:
- Experience in analyzing the real needs of customers
- Ability to quickly build production environment website tools
- My roommate’s recognition of my ability
- Based on a series of past projects, quickly set up and put into use in 3 days
- Carefully study the requirements and determine which are true and which are false.
- Rapid development, because everyone has started to spend a lot of money on public goods after arriving in the UK, so there is an urgent need to use this system
- The algorithm must be stable and reliable, because it involves everyone’s money
- The purpose of this system is to make it more convenient to delegate the accounting work to the system for automated processing. In this way, the number of internal transactions between everyone must be as few as possible and the instructions must be clear under the premise of ensuring fairness.
- How to make everyone trust the system.
- Based on a large number of own previous projects. It takes 1 day to develop and form, 1 day to test debug, 1 day to optimize the front-end, add variance, percentage and other functions.
- Refer to the accounting table and use the table mode. Every time there is a new upload, the new status will be calculated in real time. Tested many times and put into use after full verification.
- Use the concept of “balance” and pay attention to differences. When the differences are too large, make internal transactions between those who spend the most and those who spend the least. And the internal transaction value is an integer. For example, our production scenario uses 20 pounds.
- When the system algorithm is stable, refer to the design of Alipay. There are two steps to internal transactions. Both the first-choice payer and the earner receive emails telling to whom (from whom) and how much money. Then after the payer gives the money to the earner, the earner needs to log in to the web page or confirm it from the email link. As of this time, the system considers that an internal transaction is complete.
Based on the Ushio user system, combined with the operation of the past six months and the changes in everyone’s needs, I reconstructed and developed a new version of the public expenditure system.
- Achieved access to Ushio user system
- Users can register and create new public bills at any time
- The same user can be in multiple bills at the same time
- Users can join the public bill at any time
- Users can settle and exit a public bill at any time
- Smarter settlement algorithm
- Use LocalStorage to optimize the speed of secondary access
cp-acc is now open to the public, you can go to its website to experience it. But before the experience, you need to log in with your email address through the ushio user system in order to receive bill messages.