Organized team communications, held first two team meetings, got everyone in sync (all: cloned project, installed IntelliJ, ran server)
August 30th - September 6th
Created Figma designs for all web app views, created interactive demo with design to run on iPhone 8 browser, completed personas and user stories with team
September 6th - September 13th
Created final design templates. Created Jersey RESTful API for web app. Created MongoDB Connector. Collected 100 barcode to product-information mappings. Created crude barcode scanner view that calls backend product lookup service.
September 13th - September 20th
Completed Design Milestone: finalized Figma designs, wrote descriptions for each app view, created color palette, added payload error checking for API endpoints, created Scanner view, working towards product card popup view on scan, outlined all needed API endpoints and what each expects
Integrate cart.js with previous scanner and product card work in Frontend/blakeE to complete product scanner view
Finish Personal Research Milestone (part 1): Create Digital Ocean server and get SSL certificate
September 27th - October 4th
Finish Personal Research Milestone (part 2): Create Apple Pay sand box with Stripe.
Host apple pay test application on Digital Ocean server
October 4th - October 11th
Upload personal Research Milestone work to website
Upload server side payment verification code
Modified firewall to allow communication to server
Created new design mockups on Figma for new requirements
Updated and completed Requirements wiki page and create issues for each respective feature
Completed Personal Research Project
October 11th - October 18th
Completed architecture milestone: finished outlining URLs to be implemented, created complete REST API documentation, outlined Database Schema, created and formatted Architecture wiki page and subpages.
Started Ethical, Legal, and Security Considerations
October 18th - October 25th
Complete Source Control milestone with team
Complete Ethical, Legal, and Security Concerns document and wiki page
October 25th - November 1st
Completed the source control milestone
Fleshed out and completed the Legal concerns document wiki page
Completed the Ethical, Legal, and Security concerns document on wiki page
Created team plan for what needs to get done for PoC milestone and added issues to complete to the new POC project page
November 1st - 8th
Complete the PoC PowerPoint presentation for PoC demo
Assign all POC project page issues to team members
Complete 4 of my assigned issues
November 8th - 15th
Assigned all group members project issue cards on the Project page
Completed all but one of my assigned cards on Team Project page (through this GitHub repo)
Installed and began learning the Vue Framework
Integrated VanillaJs work into basic Vue project
November 15th - 22nd
Working with team to integrate previous VanillaJs work to Vue Framework
Merging all team member's Vue work together into SVA
Completing >= 10% of project for the final milestone
November 22nd - 29th
Adding Vue Router for navigation between views
Developing login page
Developing backend login system
November 29th - December 6th
Fully integrated scanner into Vue Js
Added new scanner page to router
Re-integrated API calls for product lookup with Vue implementation of scanner
Updated backend to not require barcodeType upon lookup and product insert
Updated backend to accept tax property for each product
Added tax property to frontend product and total calculations
Worked out multiple frontend bugs
Created backend function to send digital receipts to customers after checkout
Deployed working proof of concept
December 6th - December 13th
No milestones due, break
December 13th - December 20th
No milestones due, break
December 20th - December 27th
No milestones due, break
December 27th - January 3rd
No milestones due, break
January 3rd - January 10th
No milestones due, break
January 10th - January 17th
Closed all issues that should have been closed last semester
Added more known issues from Proof of Concept release
Removed dependency that was not needed and had security vulnerability
January 17th - January 24th
Researched and chose testing frameworks we will use: Cyprus and JUnit
Created unit test with JUnit
Created unused behavioral test with Selenium
January 24th - January 31st
Discovered and helped resolve bug caused by deploying code with JUnit tests
Added code to startup method of backend to add example product for API unit test
Resolved customer info insertion bug
Added session ID to the database insertion for customer info
Added branch statements and more descriptive messages to customer info / eReceipt endpoint
Working towards dynamic cart total calculation
January 31st - February 7th
Finished dynamic cart total calculation
Added consistent status messages on all endpoints
Finished user registration route and scheme
Updated backend product test to be more accurate and robust
Added new user registration test
Working towards user login route, token generation, and endpoint access level scheme
February 7th - February 14th
Fixed bug in dynamic cart total calculation
Added working JWT Token generation, decoding, and secret key to configuration file
Added check for valid user login credentials for token generation
February 14th - February 21st
Completed user registration w/ bug fixes
Completed user login with token generation, expiration, and checking of authentication header on merchant routes
Completed merchant user get carts function (returning last 24 hours carts)
Added verification boolean to cart object inserted via checkout route
February 21st - February 28th
Completed cart verification route for merchant user
Completed frontend connection and utilization of objects passed between registration and login routes
Created frontend form rules for registration and login pages to ensure correctly formatted email and non-empty fields
Helped complete redirect route that saves businessID for the QR code -> customer app transition
Added merchant views to frontend and added logic to display correct navigation bar based on if in customer app or logged in merchant side of app
Registered and added new Scandit license key
Fixed correct display of customer checkout date-time to merchant cart verification view
Added autocomplete search bar component to frontend
Created routes to perform substring product search and another route to return all products at a store
Added ability for customer to select search item and display the product card (as if they just scanned the product's barcode)
February 28th - March 7th
Fixed product card clickaway bug
Fixed search bar bugs and formatting
Working towards more efficient and secure product search (currently uses route that returns all stores products instead of using substring search route)
March 7th - March 14th
Fixed bug displaying incorrect customer cart total on merchant side and rounding error on cart tax on customer side
Adding encryption of user password on frontend (salt/pepper too)
Working towards efficient product search
March 14th - March 21st
Added scanner to merchant side of application
Added new route to accept authenticated merchant product additions to database
Added new user registration confirmation link email generation
Completed user registration confirmation flow
Working with Brendan towards QR code generation and send after verification
March 21st - March 28th
Completed merchant side product scanner for store specific product listing updates / additions
Completed encryption of password with salt on frontend
Added new login credentials check using salt in database
Added pre-confirmation to example store user
March 28th - April 4th
Completed enhancements and bug fixes of merchant side application: removing local store of products, clearing vuex store on logout, adding sales dashboard charts
Completed bug fixes on customer side: pause scanning when using search bar
Completed backend bug fixes: QR code go to development and remote user confirmation links
Adding backend functionality: deletion of product
Added password salting and hashing before insertion in database
Completed addition of token authentication on all merchant protected API routes
Added business ID to token and completed authentication check to make sure one logged in business owner could not request API for details of another business
Updated merchant token to be included in store rather than cookie to prevent CORs
Updated Scandit license key
Updated landing page to have link to merchant login
Created and uploaded v0.9 release notes
Fixed CORs error when redirecting to login from email confirmation link