Everyone's a Critic is a mobile app that allows users to rate their favorite products and makes recommendations based on their tastes. Created on the premise that taste is individualistic, in a world that celebrates conformity.
- A new user should be able to enroll in a variety of available communities aligned with their interest
- A user with multiple enrolled communities should be able to navigate between their enrolled communities
- A user should be able to browse products within a community, discovering new products to try and rate
- A user should be able to view product details, with displayed product attributes variable depending on the community and product itself
- A user should be able to rate products, providing basic details on their experience with the product and a numeric score summarizing that experience
- A user should be able to browse products they've rated, easily seeing which products they liked and disliked
- A user should be able to browse a wide variety of products within each community. Curated communities should have a wide breadth of products available within commmon brands specific to that community.
- A user should be able to perform a text search to find a product
- A user should be able to search for a product by taking a picture of the product's label via an integration with Vuforia Cloud Recognition Service
- A user should be able to view recommended products based on their location and product rating data
- A user should be able to create products missing from the community by uploading a picture and providing basic product details
- User Signs Up
- User receives a confirmation code to their email and enters it in the app
- User Signs In
- User is routed to the Community Management page
- User is routed to the Community Management page
- User finds a featured commmunity or searches for a specific community and taps it to join
- Community moves to the "Your Communities" section
- User is routed to the Community Management page
- User swipes left on an enrolled commmunity, exposing the delete button
- User taps on the delete button to confirm the deletion
- Community is removed from the "Your Communities" section
- User is routed to the Community Management page
- User taps on an enrolled community
- User is routed to the Community Home page
- Everyone's a Critic logo displays during data load
- If there are saved user credentials, the logo of the user's last viewed community displays
- User is routed to the home page of their last viewed community
- While browsing products, user taps on a product
- User is routed to the Product home page
- User taps on a rating icon to rate the product
- User enters rating details
- From any community page, user taps the header
- The Community Management page opens as a bottom sheet
- User taps on a different enrolled community
- User is routed to the Community Home page
MongoDB, AWS S3
Python, Java
React Native, Redux
Managed via Terraform. Microservice architecture built using AWS API Gateway:
- User Service: Amazon Cognito
- Communities Service: Python, AWS Lambda, Docker
- Ratings Service: Java, Spring Boot, Docker, Elastic Container Service creating AWS Fargate tasks hosted on a VPC with monitoring via a Network Load Balancer.
























