Skip to content
@everyones-a-critic

everyones-a-critic

Everyone's a Critic

Download

Summary

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.

Feature Roadmap

  • 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

Key User Flows

New User

Sign Up Confirm Account Sign In Community Management

  1. User Signs Up
  2. User receives a confirmation code to their email and enters it in the app
  3. User Signs In
  4. User is routed to the Community Management page

Join Community

Start Tap to Add End

  1. User is routed to the Community Management page
  2. User finds a featured commmunity or searches for a specific community and taps it to join
  3. Community moves to the "Your Communities" section

Leave Community

Start Swipe to Delete Tap to Confirm Deletion End

  1. User is routed to the Community Management page
  2. User swipes left on an enrolled commmunity, exposing the delete button
  3. User taps on the delete button to confirm the deletion
  4. Community is removed from the "Your Communities" section

Enter Community

Start Tap to Enter Community Home

  1. User is routed to the Community Management page
  2. User taps on an enrolled community
  3. User is routed to the Community Home page

Existing User App Start-up

Logo Splash Community Splash Community Home

  1. Everyone's a Critic logo displays during data load
  2. If there are saved user credentials, the logo of the user's last viewed community displays
  3. User is routed to the home page of their last viewed community

Add Rating

Tap Product Product Home Tap to Rate Add Rating Details

  1. While browsing products, user taps on a product
  2. User is routed to the Product home page
  3. User taps on a rating icon to rate the product
  4. User enters rating details

Switch Community

Tap Header Community Management Page Tap Community Community Home Page

  1. From any community page, user taps the header
  2. The Community Management page opens as a bottom sheet
  3. User taps on a different enrolled community
  4. User is routed to the Community Home page

Tech Stack

Database

MongoDB, AWS S3

Backend

Python, Java

Frontend

React Native, Redux

Infrastructure:

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.

Popular repositories Loading

  1. api-gateway api-gateway Public

    Manages base infrastrucure for the api gateway that hosts specific service endpoints created via other repositories

    HCL

  2. communities-service communities-service Public

    Contains the code and infrastructure serving any community related data requests

    Python

  3. ecr-repositories ecr-repositories Public

    Manages infrastructure for container registries

    HCL

  4. cognito cognito Public

    Manages infrastructure for cognito user pool

    HCL

  5. ratings-service ratings-service Public

    Contains the code and infrastructure serving any ratings related data requests

    Java

  6. mongo-db mongo-db Public

    Manages infrastructure for mongo project

    HCL

Repositories

Showing 9 of 9 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…