Mobile Application Development - Assignment 2

Introduction

The Project(Wall-R) is an IoT based smart dustbin that has the following features

  1. live update on trash-level in a Web DashBoard UI
  2. auto travel to the collection point for dumping/further waste management

This assignment focuses on the Dashboard UI aspect of the whole project.

The built UI has to be consistent across all platforms and hence a multiplatform approach is taken

design choices include:

  1. react-native
  2. flutter
  3. PWA

PWA enables a user to download a web app as a native application while being considerably lighter than alternative approaches hence we choose to build via PWA

Tech Stack

  1. tailwind CSS - for faster and more modular styling in components using CSS
  2. typescript - for a javascript with a strict type system that catches a lot of common errors (undefined properties/wrongly typed inputs/etc )
  3. nextjs - for production-ready optimization (file sizes, etc) for react applications
  4. firebase-auth - for the simplest way to implement google sign in
  5. graphql - for optimised HTTP APIs(no over/under-fetching)
  6. prisma - for a modern way to interact with SQL database (typed auto-complete, live - browser preview )

Screenshots