-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.md.bak
403 lines (257 loc) · 13.2 KB
/
README.md.bak
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
# CMPE 202 - Team Project - Starbuck Mobile App on Processing
The idea is to leverage the individual project implementation and re-build the Starbuck Mobile App on processing with animation UI.
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/yinghua_qin/GifMaker_20181120214214887.gif)
Download and install the Processing. https://processing.org/
References:
- Sample code from professor. https://github.com/paulnguyen/cmpe202/tree/master/processing
- Java Programming with Processing from professor. https://slack-files.com/files-pri-safe/T0AMW0A3S-FE1PXQENB/java_programming_with_processing.pdf?c=1542777253-18a17676a94dbe8e972df65fdb4a86d335ebf835
- Processing official website. https://processing.org/
## Development environment setup instruction (latest version)
We are using visitor design pattern between processing, starbucks.jar and new screens.
All the new screens are under team project folder now.
1) Here is the source code for implementing the team project: https://github.com/nguyensjsu/fa18-202-mystic/tree/master/yinghua_qin/starbucksTeamSource
2) Here is the latest processing code: https://github.com/nguyensjsu/fa18-202-mystic/tree/master/yinghua_qin/starbucks_processing_v2
3) Here is the two library we use. Please check the readme file here for how to use them. https://github.com/nguyensjsu/fa18-202-mystic/tree/master/yinghua_qin/starbucksJarLibraries
## Activity Diagram
![ActivityDiagram](./3.UMLAnalysisModels/ActivityDiagram.png)
## Use Case Diagram
![](./3.UMLAnalysisModels/readme.assets/1543349096953.png)
## System Sequence Diagrams
### Login and Set Pin
![](./3.UMLAnalysisModels/readme.assets/1543350153375.png)
## Sequence Diagram of Set Pin - Observer Pattern
#### Initial Setup
![1543300184164](./3.UMLAnalysisModels/readme.assets/1543300184164.png)
#### Set Pin Key Input
![1543300295630](./3.UMLAnalysisModels/readme.assets/1543300295630.png)
#### Set Pin
![1543300420465](./3.UMLAnalysisModels/readme.assets/1543300420465.png)
## Class Diagram
#### Order- Builder Pattern
![](https://user-images.githubusercontent.com/17009702/49313115-230d9100-f49b-11e8-9266-c70c740d3f8a.png)
#### Processing / Base Jar / New Screens - Visitor Pattern
![1543968465578](./README.assets/1543968465578.png)
-----------------------------------
## Journal Week #1 - 11/02 to 11/08
-----------------------------------
### Login Function (Yinghua Qin)
What I have done this week
- I started from looking at some examples of the Processing.
- Building UI and annimation on processing seems simple.
- Showcase for week 1
What I plan to do next week
- How to import my individual project Java files to Processing so that I could reuse the source code?
- Which design patterns I should implement on Login function? The state machine? The observation? Those are implemented on the individual project.
- Would it be cool to create a QR code scan for login on Processing? It seems there is a QR code scan lib avaiable.
- Would it be cool to add sound when login fail and a happy sound when login success?
### Feasibilty experiments in Processing (Thol Chidambaram)
What I have done this week
- Implemented examples in processing for loading images.
- Added default screenshots from new Starbucks app, rendered them in processing.
- Modified the images to match the same functionaliy in Starbucks requirements pdf.
- Try out rendering live Google map loading for Starbucks stores.
- Showcase for week 1.
What I plan to do next week
- Get all screens ready to match the functionality in requirements.
- Is it possible to use eclipse for IDE instead of using Processing?
- Check the possibility of Features IDE modeling using AspectJ for feature selection.
- How should I implement MyCards page to MyCardsOptions navigations? which pattern should I use?
### XP Core Value - Communication
I have facilitated continuous and constant communiation through out week 1. List of initiatives I did to keep up the core value of communication are the following.
- Communicated with the team about the capabilities of Processing.
- Send out the design for store display in processing.
- Initiated a Whatsapp group discussion.
- Setup a zoom meeting and gave a demo on processing and stores display.
### AddCard Functionality (Srivatsa Mulpuri)
What I have done this week
- I went through the Processing tutorial online and examples on cmpe202 github
- Created shapes and GUI elements like buttons using processing
What will I do do next week?
- Integrate the personal project source code for Settings and Add Card Functionalities
- Create Buttons in Settings screen for a better user experience
- Implement the screen redirection functionality from settings to AddCard
### Experimenting with Processing (Vidhi)
Work Done:
- Finalized the design for the project
- Divided the tasks
- worked on Proceesing tutorials like image loading, mouse and key press events
To do:
- Implemening MyCards and MyCardsPay screens
- Adding events to the buttons on the screen
- Merging Java and processing code
### Processing Tutorial and Pattern Use (Mitesh Kumar):
Completed Tasks:
- Tutorials and used examples on Processing.
- Tried importing starbucks images. Read on how to import project in Processing.
- Explored using key buttons in Processing.
Tasks for Next Week:
- Coming up with MyCardsMoreOptions screen import.
- Implement balance functionality in MyCardsMoreOptions in Processing.
- Desing Pattern Trials for login screen and Payments.
### XP Core Value - Courage
- Continously brought ideas to implement to the team.
- Always encourage everyone to try new things.
- Brought Positive Energy in Team Meeting.
-----------------------------------
## Journal Week #2 - 11/09 to 11/15
-----------------------------------
### Login Function (Yinghua Qin)
What I have done this week
- Imported the individaul project Java files to Processing
- Built a login UI with a pre-set PIN 1234
- Tested the login success case - input 1234 (use mouse click)
- Tested the login fail case - input wrong pin (use mouse click)
- Tested the "x" cancel last input chat
- Created a video recording for the showcase
What I plan to do next week
- Implement the design pattern on Login function
- Link with the starbuck source code for screen flow
### MyCards Functionality (Thol Chidambaram)
What I have done this week
- Completed implementing the processing code in eclipse.
- Ingegrated existing starbucks code along with projcessing's "core.jar"
- Started wireframing on coordinate conversion between the new and old Starbucks app screens.
- Completed creating new screen designs.
- Enabled gradle to download and test processing jar files during project compile.
What I'm blocked
- Login screen implementation from Yinghua
What I plan to do next week
- Discuss with team on where they stand
- Complete the entire app functionality in processing.
### XP Core Value - Communication
Keeping up the core value of "Communication", I performed the following actions for the team:
- Setup meetings with team
- Communicated possible design options with the team
- Discussed user stories suitable for pattern implemenation
### AddCard Functionality (Srivatsa Mulpuri)
What I have done this week
- I have integrated the source code for settings and Add card functionalities
- Designed 'Add Starbucks Cards' button on settings screen, implemented onhover and onClick events
- Successfully implemented screen redirection functionality from settings to AddCard
- Showcase for week 2
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/srivatsa_mulpuri/20181122_230851.gif)
What will I do do next week?
- Check if can reuse the starbucks personal project source code completely for add card. if not, identify the necessary modifications
- Create fields for cardnumber and cvv code using processing
- Write logic to convert keypad touch event to starbucks app touch event
### MyCards/MyCardsPay Screen (Vidhi)
Work Done:
- Modified screen image's in accordance to the requirement
- Implemented MyCards and MyCardsPay screens
- Added events to the buttons on the screen
- Merged Java and processing code
To do:
- Adding the wow factor, trying to adding "Feature Model"
- Testing the complete flow
### MyCardsMoreOptions in Processing (Mitesh Kumar)
What I have done this week
- Implemented MyCardsMoreOptions functionality in Processing.
- Modified Images to take care of balance display.
- Debugged code to fix some hang bugs.
What I plan to do next week
- Come up with some ideas to enhance functionality.
- Use Patterns for new functionality.
- Go over 4 pin / 6pin functionality for login.
-----------------------------------
## Journal Week #3 - 11/16 to 11/22
-----------------------------------
### Login Function (Yinghua Qin)
What I have done this week
- I found a way to use the .jar file in processing.
- With this, I could put all my personal project java code into a jar file and use it in this team project.
- Instruction:
Put the starbucks.jar into the library folder under Processing software.
processing\modes\java\libraries\starbucks\library\starbucks.jar
Import the library to the project.
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/yinghua_qin/AddStarbuckJar.png)
- I got all the screens from professor's PDF of personal project
- I worked out the size of the screen and the position mapping as listed on the PDF.
The height should same as the 500 in the size function
int headerHeight=60;
int h=headerHeight+55*8; //before:480; now: 500
size(320,500); //480
- Showcase for week 3
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/yinghua_qin/GifMaker_20181122180117424.gif)
What I plan to do next week
- Think about some wow factors to add into the project
- Work with the team to get all screens implemented
### Design pattern selection (Thol Chidambaram)
What I have done this week
- Design use case diagram for UI selection user story
- Implement classes required for design pattern
- Discussed with the team and picked up Strategy/Adapter pattern for implementation
- Modified the screens as per the co-ordinates required by the starbucks app.
- Integrate the changes with the other team members code
What I plan to do next week
- Review the code
- Implement missing functionality
- update documentation
- Check team members on where do they stand
- prepare for submission
### XP Core Value - Communication
At the crucial stage of the project clear communication is very importatant, team improved the communication in following ways.
- Zoom meeting every other day
- Private project group message in slack
- Project integration meetings
- In person xterme programming
### AddCard Functionality (Srivatsa Mulpuri)
What I have done this week
- Developed Add Card functionality using starbucks personal project source code
- Created font for card number and cvv
- Made code changes to display carrd number and cvv in the appropriate fields
- Add Card showcase version 1.0
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/srivatsa_mulpuri/20181124_163907.gif)
What will I do do next week?
- Come up with ideas to improve user experience
- Work with team members and integrate the code
### MyCards/MyCardsPay Screen, Faeture Model (Vidhi)
Work Done:
- Did required filtering MyCards and MyCardsPay
- Learnt to convert processing files into java code and implementing processing into ecplise (by adding processing jar's)
- Tried to add feature model but was not successful(I was not able to merge the processing jar and the aspect jar's and run the complete project as a whole)
To do:
- Create Ad youtube video
- Implement Builder Pattern for order
- Create a screen for order
- Adding events to the order screen
- Documentation
### MyCardsMoreOptions Screen, New Functionality (Mitesh Kumar)
Completed Tasks:
- Refined code to take care of balance in Processing.
- Implemented State Pattern to take care of 4,6 and 0 pin in Login Screen.
- Tried to come up with new functionality on Login.
To Do Next Week:
- Work with team memebers to merge code.
- Create 6 digit pin screen.
- Create Class Diagram for 6 digit pin entry.
-----------------------------------
## Journal Week #4 - 11/23 to 11/30
-----------------------------------
### Login Function and Set Pin Function (Yinghua Qin)
What I have done this week
- Implemented a "Set Pin" with Observer design pattern
- Implemented the multiple app Visitor design pattern
![1543968388587](./README.assets/1543968388587.png)
##### Set Pin Showcase
![](https://github.com/nguyensjsu/fa18-202-mystic/blob/master/yinghua_qin/setpin.gif)
What will I do next week?
- As this is the final sprint so there is no next week.
- There must be some feedback from the review and we might enhance it based on the feedback.
### AddCard Functionality (Srivatsa Mulpuri)
What I have done this week
- Added a frame to Pinscreen to select the Pin Setting option
- Added fonts to match with the UI wireframes
- Integrated the source code and fixed issues
### Order feature(Builder Pattern, Screen), Video, Documentation (Vidhi)
To do:
- Working on Builder pattern
- designing order screen
- Video
- Documentation
### 6 pin Screen Functionality, Documentation (Mitesh Kumar)
Completed Tasks:
- Documentation, Reports
- Worked on State Pattern Implementation for 6 pins.