Hy-Vee Internship - Aisles Online Mobile
This summer I helped build Aisles Online Mobile using React Native, while simultaneously working on our REST API and its GraphQL counterpart. I worked on an agile team made up of 4 devs, 1 QA, 1 UI/UX Designer, PO, Tech lead, and 1 intern (👋😄) with standards for TDD, 100% code coverage, and pair programming whenever possible. We released the app in June, and reached 3k users and $86k in grocery sales within the first 2 weeks of launch, and a rating of 4.6 stars in the App Store.
Downloads: iOS • Android
Here’s a look into everything I was able to work on and contribute to the Hy-Vee Aisles Online App. The engineers on the team are incredibly talented, so learning from them was a privilege I’m grateful for every day.
Week 1:
- Set the Mrs. Pac-Man High Score 👾
- Jumping into React-Native
- Completed a course on Redux
- Implementing code with central immutable state
- Querying Graph QL using Apollo through dispatch calls
- Debugging using RN Investigator within AVD
Week 2:
- Writing a REST endpoint to relay SQL table data
- Creating a Graph QL Resolver for that endpoint
- Writing React Unit Tests using RTL
- Using Postman to test written API services
- Building Graph QL queries
Week 3:
- Using Sketch mockups to implement a styled component
- Utilizing Sentry error reports for bug fixes
- Finding bugs in group manual testing
- Mocking with stubs and spys for Jest tests
Week 4:
- Creating Redux action creators
- Configuring Apollo client plug-ins
- Limiting unnecessary component renders using lifecycle methods
Week 5:
- Using Testflight deployment paths for deploying to beta testers
- Scripting mobile interaction tests
- Configuring Firebase for CMS driven content
- Working with UI/UX dev for layout tests
Week 6:
- Submitting our public release build on both iOS and Android
- Adding new guest user flow after App Store review
- Configuring multiple apollo clients
Week 7:
- July 1st Public Launch!
- Using React-Native-Link to update new Icon assets
- Creating new Icon assets out of SVGs
Week 8:
- Using Google Analytics to study user flow / funnelling
- Creating new endpoints and generating respective GraphQL resolvers
- lots of bug fixes from launch
Week 9:
- Implementing complex linting rules + cleaning the codebase
- Updating OS packages + managing forks
- Completed online courses over Typescript + GraphQL