https://github.com/nguyensjsu/sp19-202-rocket-202
Rocket202
Poke Accounting is an accounting software, allowing users to add and check personal expense and income records. Poke Accounting also provides different charts to help you visualize your record. Account function make it easier to follow your account balance. Poke Accounting has its own login authentication to guarantee your personal privacy.
Rocket 202 Presentation AD Video
https://docs.google.com/spreadsheets/d/1RVyDYU9kWllowJlikY2BKtmSpdxpajvTHTAQleGj4No/edit?usp=sharing
Login screen: Shiyan Cai
Record Flow screen: Yijun Zhang
Add Record screen: 8F56 Xingchen Kang
Asset screen: Han Wang
Chart screen: Min Yu
- Provide application prototype, app name and logo
- Use
Observer
Design Pattern when implementing Keypad function which is used in two screens: Input account balance screen and add account record screen - Use
Composite
Design Pattern when implementing input new account balance screen. Components are Keypad and OutputText - Use
Observer
Design Pattern when implementing add new account function. - Create a tool CSVHelper which help to read and write csv files. And it’s used in three parts: read each account balance from accounts.csv, write new account information into accounts.csv, write new record into records.csv
- Develop a comprehensive UseCase diagram
- Develop add account use case specification with supporting Sequence diagram
- Develop an Ad Video for the application
- Complete app testing, find out problems and fix bugs in the code
- As a role of XP value “Courage”, when some thing was wrong, I pointed it out and provided my solutions. I encouraged our members to try new things. And I also encouraged them that we don’t need to be afraid with failures because we are a team.
- Develop Tools class for time conversion: convert unix timestamp to datetime and convert datetime to unix timestamp.
- Get data and analysis data from record.csv, generate corresponding statistics CSV data in order to easy display data on Chart screen.
- Develop pie chart code in order to show it on Chart screen.
- Create tab icon for Chart screen.
- Use
Strategy
design pattern to get record.csv data into relevant statistic csv file. - Use
Template
design pattern to generate Expense/Income/Monthly screen on Chart screen. - Complete overall class diagram.
- Create gif for each person demo.
- As a role of XP value "Feedback", I always test the program. If I find bug, I told it to my team mates and communicated with them.
- Create UI Wirefames.
- Develop a MenuScreen that add a menu bar to normal screen using
Decorator
Design Pattern. - Develop main screen control flow for the app using
Command
Design Pattern. - Develop a add record screen using
Composite
,Strategy
andObserver
Design Pattern. - Develop a choose account screen for adding record.
- Develop change screen and add expense record use case with supporting sequence diagrams.
- Develop an AD video for the APP.
- As a role of XP value "Simplicity", I always remind my team to keep things simple, cut off unnecessary developing demands and add small development pieces into the whole framework.
- Build major stracture of application, implemant a
proxy
pattern for login authentication. - Create login screen for authentication.
- Create reset password process, allow user to enter old passcode, enter new passcode, and verify new passcode. Implemented with
state
pattern - Design a keypad for login process. Include shaking effect when enter wrong passcode, and button may change color when pressed.
- Design drag effect for the drag effect for the chart screen. Allow to drag up and down, and list may slowly come back when bottom display area leaves empty.
- Design a line chart to show income, expense, and balance change in current year.
- Apply a gradient color change on the line chart.
- Add a welcome screen, when open the application.
- Create the sequence diagram for both login and reset passcode process(sucessfully reset).
- Create state machine diagram for reset pascode process.
- As a role of XP value "Communication", I gurantee our group meet at least one time a week, and all members keep contacting with each other through wechat. I also make meeting record to allow others to review the decision made through the meeting.
- Design and develop the Main Screen of Flows, which generally reads data from data records.csv, and displays them in hierarchical time order with daily and monthly total values.
- Use
Decorator
Pattern to add name to related flow icon of each income and expense record. - Use
Strategy
Pattern to show monthly and daily flow headers which have same contents combination but different sizes and locations for displaying. - Use
Builder
Pattern to build the month flows with all recorded day flows in this month(which contains several detailed daily flow records)with hierarchical hearders showing hierarchical total values. - Use
Observer
Pattern to ensure the month total value will change once the displayed flow changes. - Develop the drag function for Flow Screen with special sign displayed in the end of month flows.
- Develop a use case about using drags to see all flow records in flow screen with related sequence diagram.
- Produce animations in presentation slides and keep the slides updated.
- Draw the activity diagram.
- As a role of XP value "Respect", I keep the faith in every member in our team and keep showing them that they are improtant. I show respect to everyone and show belief in them during the whole project period. When anyone come up with any ideas about our project or finish any tasks, I always express respect to their thought and admire evey works they have done.
UI Wireframes
- See README in folder: https://github.com/nguyensjsu/sp19-202-rocket-202/tree/master/UI%20Wireframes
Use Case Specification & Class Diagrams for Design Pattens
- See README in folder: https://github.com/nguyensjsu/sp19-202-rocket-202/tree/master/UML%20Analysis%20Models