SpaceMate

FREELANCE PROJECT

My first real world project, solving a real world problem for an interior design company based in Pune. The project resulted in a system to manage their operations, communicate with their customers and offer a mobile ecommerce platform configurable from an Admin side application. The project also features a document based chat and a system which executives at the company can use to send interior design solutions based on client input.

Flutter
Google OAuth2
Figma
System Architecture Design
Firebase Cloud Storage
Push Notifications
FireStore
Slide 1 of 9

DETAILS

This was my first freelance project and challenged me to build a system that could be practically used by a business which was an interior design company based in Pune called SpaceMate. I with my team of 2 other members conducted various rounds with different types of queries regarding the requirements of the company to better understand what kind of solution we could create.

We came up with a solution which consisted of 3 platforms:

  • Mobile Application: We decided to build a mobile application using Flutter to serve the purpose of having a catalog of the services provided by SpaceMate and also serve as the primary communication point for receiving these services.
  • Executive Side Web application: A platform through which executives could communicate with the clients and provide design files as per the requirement of the project, built with Flutter.
  • Admin Side Web Application: An admin platform, also built with Flutter, for the managers at the company to moderate things like
    1. creating new executive accounts
    2. assigning projects to executives
    3. running campaigns, sending notifications for the same
    4. creating new coupons
    5. managing content displayed in the app

To keep things simple I decided to use Firebase for all backend purposes (BaaS), I worked on designing this system architecture, and database schema, I also designed interfaces for all the applications using Figma, I worked on deciding what each application did, and developing the mobile application and admin side web application using Flutter.




Here are some of the notable features of the mobile application:

  • Service-wise catalog showcasing all the services that the company provides which updates using the data stored in Firebase Firestore.
  • A pricing model that helps you calculate the cost of your picked service based on your carpet area in sq ft, which you can then add to your cart and purchase said service, also features a coupon system.
  • A projects section that shows you all your active and inactive projects, allows you to track project progress, and download design files submitted by the executive assigned to your project.
  • A document-based chat that uses Firebase Firestore to allow communication between project executive and user, enabled with attachments that uses Firebase Storage.
  • Account creation and handling managed with Firebase Auth.
  • Custom widget for handling password entry and confirmation.
  • Session management using Provider.



Some notable features of the admin web application are:

  • Provides a dashboard with a summary of total users, total executives, total projects, and total revenue so far along with conversion rate.
  • Allows viewing user data and deleting users.
  • Allows CRUD operations on executive accounts.
  • Facilitates viewing all projects registered, both assigned and un-assigned, and also allows assigning projects to executives, deleting projects, and viewing project details as well as the chat between executive and user.
  • Provides content management access which includes creating new packages, adding or removing services from different packages, updating pricing model, images, details about packages etc.
  • Allows notifying users via Firebase push notifications, changing other data like testimonials, active coupons etc.

The Firebase Firestore schema is designed in such a way that queries are optimized for response time and number of lookups required.

OTHER PROJECTS

Log Aggregator

Techsurf 2023

Express.js
Node.js
OpenTelemetry
ElasticSearch
NGINX
Redis
System Design
React.js

Part of my submission for the hackathon Techsurf 2023 organised by Contentstack, the hackathon provided 3 problem statements one of them was to build a log aggregator service prototype (something like logstash) that will aggregate logs and provide a way to visualize them, they had bonus points for using opentelemetery to collect logs from various sources like AWS CloudWatch, Kafka, various frontend and backend applications etc. I implemented a solution using React.js, Express.js, BullMQ, NGINX and Opentelemetry's OTLP.

View details   🞂🞂