Business Technologies & The Fresh Diet:A Winning Combination
About Fresh Diet
We do things different, deliberately.
We believe there’s power in a long-term solution versus a short-term fix.
Healthy habits versus unrealistic expectations.
Overall well-being versus the amount you weigh.
Ours is a tailored approach rather than a one size fits all mentality.
We think food should be enjoyed. Not avoided.
Fresh and fabulous. Not frozen. Simple. Not overly complex.
Challenge
Solution
TFD REVAMP APPLICATION SYSTEM ARCHITECTURE APPROACHES
The architectural approaches discussed for the new application were as follows:
In this approach proposed and used by The Fresh Diet technical team in its existing system, the architecture of the TFD Revamp Application would be an MVC (Model-View-Controller) architecture with View (Presentation layer) physically separate from the Model (Data Layer) and Controller (Business Logic Layer) as illustrated by the diagram:
Approach 1
The PROS & CONS of the above architecture are as follows:
PROS
- The above architecture allows for easing catering of multiple views because the View is already physically separate from the Model and Controller and can utilize an AJAX API to show the data on the presentation layer.
- No need for separate API to interface with a custom mobile app or any third party app.
- Modularity, ease of maintainability, scalability and platform independence.
CONS
- Performance Issue: Application response time could become slower as the application grows in no. of users and data due to communication / query by the presentation layer (VIEW) each time to the MODEL and CONTROLLER layer for presenting data on presentation layer.
- Vulnerable Security: Potential risk of exposure of service with chance of application being hacked during network communication (HTTP GET / POST Request) or information can potentially be lost if the network traffic is sniffed.
- If HTTP GET requests gets exposed then any web client can also hit the server with unnecessary requests, which can cause Denial of Service (DOS) attack.
- Encryption and Decryption is required to secure the query string information, which is an overhead and requires extra effort.
Approach 2
PROS
- No Performance issue as in Approach 1
- No Security vulnerability issue as in Approach 1
- Modularity, ease of maintainability, scalability and platform independence.
CONS
- To cater multiple views, a separate API layer had to written to interface with a custom mobile app or any third party app, as per need.
The Fresh Diet technical team insisted on using the MVC architecture in Approach 1 to be the architecture for the TFD revamp application because, despite its CONS, they were adamant on keeping the View physically separate from the Model and Controller.
UI Design
The front end (TFD Website and client-side website) and member’s section were unchanged for the revamp stage. Thus, the features/functionality currently in the front end and member’s section were more or less the same with modifications to only those parts where necessary/required.
Functionality for handling the content and features used in front end and member’s section were added to their relative sections i.e., admin and member’s section. For example, gallery slider, pages content, testimonials, FAQ etc.to admin section and Profile Edit, Billing information, Food Profile update etc. to member’s section.
A Twitter Bootstrap Theme was setup for the back end (admin panel).
08 TFD REVAMP APPLICATION MODULES
01 DATABASE DESIGN
02 APPLICATION SETUP
- Framework Setup
- Theme Implementation
- Basic Functionality i.e. Login, Forgot Password and Password Recovery
03 CMS BASED WEBSITE FRONT END
- Landing Page Gallery
- Newsletter Subscription
- Testimonials List
- US Weekly
- Others
- The Fresh Diet Articles External Links
A. Sample Menus
- Meals options (Premium, Chef and Classic)
- Meals sub-options (Breakfast, lunch, dinner, snack, dessert)
- Sample Menus Gallery
- Plans Features List
B. FAQ Page
- FAQ Categories
- QA Management
- Static/Information Pages
C. Site Meta Information (Social links, SEO related info)
D. Forms/Emails
- Contact Us
- Affiliate Program
- Corporate Wellness
- Ambassador Program
- Partnerships
- Press
04 FRONT END WEBSITE: SHOPPING CART PROCESS
- New Member Registration
- Delivery Information
- Billing Information
- Add Promo
05 APPLICATION SETUP
A. Member Login/Logout
B. Member Password Recovery Forms
- Enter email to get password reset link
- Reset password using reset link
C. Account Overview/Dashboard
- Program Renewal
- Update Profile
- Order History
D. Billing Management
E. Schedule & Day Meal Management
- Scheduler
- a) Show Client Delivery Days Along With Status Icons
- b) Enable and Disable Delivery Day(s)
- Daily Meal Management
- List Available Meal Categories along with meals for the day
- Choose Meals for the day
- c) Bind Delivery Address for the given day delivery
- Food Profile
- a) Manage Client’s Ingredients Dislike Basket
- b) Dislike Counter as per Client’s Current Meal Plan
- Delivery Information
- a) Manage Delivery Address
- b) Manage Delivery
- Static Pages
- Display Popup on Login Containing Key Information Like
- a) Remaining Delivery Days
- b) New Promotions/News
06 ADMIN SECTION
A. ACL Management (Module+ Controller+ Action based)
B. Employee Management
C. Department Management
D. Role Management
E. Resource Management
F. User/Client
- Profile Management
- Delivery Address Management
- Billing/Client’s Payment Methods Management
- Tasks Management Alias Internal Ticketing System (Specific to Client)
- Notes Management
- Notes Category Management
- Hear About Management
- Client Roles Management
- Client Resource Management
- Food Profile
- a) Manage Client’s Ingredients Dislike Basket
- b) Dislike Counter as per Client’s Current Meal Plan
- Schedule & Day Meal Management
- Scheduler
- Show Client Delivery Days Along With Status Icons
- Enable and Disable Delivery Day(s)
- Daily Meal Management
- List Available Meal Categories along with meals for the day
- Choose Meals for the day
- Bind Delivery Address for the given day delivery
- Delivery Tab
- (1) Black Out Day with Additional Days Black Out Functionality
- (2) Pull Bag Functionality as per new requirements
- Scheduler
- Log Management
G. Order/Sales
- Add Order
- Upgrade Order
- Downgrade Order
- Apply Promo to Order Items
H. Tasks Management – Internal Ticketing System
I. Site Operations
- Brand Management
- Plan Management
- Templates Management
- Delivery Types Management
- Kitchen Management
- Lag time Manager
J. Culinary and Kitchen Operations
- Diet/Life-style Management
- Ingredient’s Category Management
- Ingredient Management
- Flag Management (carb heavy, gluten free etc.)
- Meal’s Category Management
- Meal Management
- Meal Diets Management
- Meal Flags Management
- Meal Ingredients Management
- Menu Management
- Menu Meals Management
- Substitute Ingredients Management
- Conflict Management (as per new requirements)
- Menu Creation/Menu Posting
- System Choose Client’s Meal
- File Center
- a) Delivery Labels
- b) Client Menus
- FedEx Shipping Labels
L. API/Library Integration
- ePay (Payment Gateway integration)
- Client Registration on ePay System
- Client’s Payment Method(s) Verification and
Registration - Munch Client’s Payment Details
- Batch payment
- Telogis (routing/geocoding)
- Open Street Maps/Leaflet
- FedEx
M. Marketing
- Campaign Management
- Promotion Management
N. CRON Jobs
- Auto Renew
- Auto Renew Reminder
- Cancel Pre-Open Orders
- Check Fax Status
- Choose Meal Reminders
- Clean Temp Directory
- Create FedEx Labels
- Create Menus
- Create Sequence Numbers
- Expire Reset Hash
- Kitchen Production
- Make Client Menus
- Menu Selections
- Migrate Users
- Munch Cards
- Process Days
- Remove VIP Tag
- Email Queue (Emails generated on different levels)
- Meal Reminders
- Renewal Reminders
- Generate Crunch Numbers
- ePay Transaction Manager
O. Reports
- Financial
- a) Earned Revenue Report
- b) Review Payments Report
- c) Review Batches
- d) Sales Operation Report
- e) Delivery Summary Report
- Kitchen Operations
- a) Production Obligation Report
- (1) Incomplete Meals Order
- a) Production Obligation Report
- Marketing
- Logistics
- a) Cancel Route Report
- b) No Driver Report
- c) No Distribution Report
- d) Delivery Report
- Others
- a) “VIP Report”
- b) Signup Reviews
- c) Birthday Report
- d) Cancellation Report
- e) CC Expiration Report
- f) Auto Renewal Clients
- g) Outstanding Help Report
- h) Lonely Clients Report
- i) Credit Report
- j) Review Orders
- k) First Day Report
- (1) Expiration Report
- l) Production Report