A second-hand uniform website.
Component 7517/C
Name: Center Number: 74615 Candidate Number: 1
School: Component: 7517/C
,Contents
Analysis ......................................................................................................................................................... 6
Overview of the Problem .......................................................................................................................... 6
Context / Brief Description of the Existing System ................................................................................... 6
Client Description...................................................................................................................................... 7
Addressing the Topic of Monetary Transactions ...................................................................................... 8
Intentions / Preliminary Ideas................................................................................................................... 9
Interview #1 – Kay................................................................................................................................... 10
Analysis of Interview #1 ...................................................................................................................... 21
Interview #2 - Mr. Agent......................................................................................................................... 22
Analysis of Interview #2 ...................................................................................................................... 28
Modelling the Existing System ................................................................................................................ 29
Analysis of Similar Systems ..................................................................................................................... 31
Mentone Grammar Second-Hand Uniform Store ............................................................................... 32
Royal Hospital School Second Hand Uniform Store ............................................................................ 34
Namshi ................................................................................................................................................ 38
Additional Features, Thoughts on the Process, Improvements.............................................................. 45
Technologies ........................................................................................................................................... 49
Final Problem Statement ........................................................................................................................ 50
Proposed Solution ................................................................................................................................... 50
Project Approach + Final Notes Before Writing Final Requirements...................................................... 50
Project Complexities ............................................................................................................................... 51
Complex database model ................................................................................................................... 51
Complex client server model .............................................................................................................. 51
Cross Table Parameterised SQL Queries ............................................................................................. 51
Emailing ............................................................................................................................................... 51
Graph Generation ............................................................................................................................... 52
PDF Generation ................................................................................................................................... 52
Token Generation ............................................................................................................................... 52
Scope of Features.................................................................................................................................... 53
Amendments / Review with Client ......................................................................................................... 54
Final Core Requirements......................................................................................................................... 55
Name: Center Number: 74615 Candidate Number: 2
School: Component: 7517/C
, Possible, In-Scope Features and Requirements...................................................................................... 63
Modelling ................................................................................................................................................ 66
Level 0 Data Flow Diagram.................................................................................................................. 66
Level 1 Data Flow Diagram – Account Management .......................................................................... 66
Level 1 Data Flow diagram – User Browsing and Adding to Cart ....................................................... 67
Level 1 Data Flow Diagram – Email Notifications ............................................................................... 68
Documented Design.................................................................................................................................... 69
Login System Prototyping ....................................................................................................................... 70
Final Thoughts on Login Prototyping ...................................................................................................... 75
Identifying and Modelling Data in the System (IPSO Chart) ................................................................... 76
Database Design...................................................................................................................................... 78
Revising the Database Design ................................................................................................................. 83
Item and ItemInventory ...................................................................................................................... 84
OrderItemCard .................................................................................................................................... 85
Categories ........................................................................................................................................... 86
User Account Access Levels ................................................................................................................ 88
Guest Checkout ................................................................................................................................... 90
Event Creation..................................................................................................................................... 94
Waitlist ................................................................................................................................................ 95
Complete Database Design (ER Diagram) V2 .......................................................................................... 96
Site Navigation ........................................................................................................................................ 97
UI Design and Web Page Sketches.......................................................................................................... 99
Search Page ......................................................................................................................................... 99
Item Page .......................................................................................................................................... 100
User Dashboard ................................................................................................................................ 101
Manager Dashboard ......................................................................................................................... 102
Defining Application Workflow for the Waitlist.................................................................................... 103
Researching SQLAlchemy (before continuing with waitlist design) ..................................................... 106
Returning to Waitlist Design ................................................................................................................. 107
Waitlist Pseudocode ............................................................................................................................. 111
Finalising the Design of the Checkout Process + Checkout Pseudocode .............................................. 113
Prototyping Sending Emails using Python ............................................................................................ 116
Prototyping PDF Generation ................................................................................................................. 127
Name: Center Number: 74615 Candidate Number: 3
School: Component: 7517/C
, Revising Database Design During Technical Implementation .............................................................. 139
Technical Implementation ........................................................................................................................ 141
File Structure ......................................................................................................................................... 141
Flask Blueprints ..................................................................................................................................... 145
Object-Oriented Programming ............................................................................................................. 145
Annotations........................................................................................................................................... 145
Main __init__.py file ............................................................................................................................. 146
App.py File ............................................................................................................................................ 147
Decorators.py........................................................................................................................................ 147
Config.py ............................................................................................................................................... 148
ENVIRONMENT ..................................................................................................................................... 148
Models.py ............................................................................................................................................. 149
Populate_db.py ..................................................................................................................................... 154
Base.html .............................................................................................................................................. 159
Email Service.py .................................................................................................................................... 159
Blueprint Structure ............................................................................................................................... 165
Blueprints/about_us/views.py .............................................................................................................. 166
Blueprints/auth/services.py.................................................................................................................. 167
Blueprints/auth/views.py ..................................................................................................................... 167
Dashboard ............................................................................................................................................. 170
Dashboard/services.py.......................................................................................................................... 170
Dashboard/views.py ............................................................................................................................. 170
Emails/services.py ................................................................................................................................. 173
Home/views.py ..................................................................................................................................... 174
Manager ................................................................................................................................................ 175
Manager/views.py ................................................................................................................................ 179
Store/services.py .................................................................................................................................. 180
Store/views.py ...................................................................................................................................... 186
PDF and Analytics Code (Manger Blueprint)......................................................................................... 190
Technical Skills Table............................................................................................................................. 194
Testing ....................................................................................................................................................... 200
Link to Video ......................................................................................................................................... 200
Modular / System Testing ..................................................................................................................... 201
Name: Center Number: 74615 Candidate Number: 4
School: Component: 7517/C