capstone project

Capstone projecy by: Sudheer Kumar, Sahil Raj & Souvik Sarkar

Prelude

An average human being always seems to find even their trivial issues in life insurmountable and seek bona fide reactions to the smallest of health conditions. We cry, want to be pampered and to be supported all the time. Now imagine this, a kid – with special needs who supposedly requires help even to perform his/her basic needs. The kind of challenges she/he faces on a daily basis, how difficult it is for their parents/guardians to help them lead a normal life. The current pandemic situation has made it even worse as people cannot take their kids out even for their therapy sessions. Rubicon bridge is an honest attempt to answer these long pertaining questions, whether we were in a pandemic or not. Rubicon Bridge tries to provide a hope for those parents with some proven methodologies for child development, through regular online classes. For team “Autobots” it all started as a capstone idea, but we are so glad to see it growing as a startup endeavor, with current operations currently being done from a facebook group (https://www.facebook.com/therubiconbridge/). This capstone was an MVP to the real web site of Rubicon Bridge.

Problem Statement

Rubicon Bridge is a startup that aims to capture the market segment as therapeutic healing activity providers, winning the hearts of the kids and parents as well. The activities planned are inclusive and suit kids of all abilities above age 5. 

The parents of special needs have a very challenging role to play in their life. They have to understand the diagnosis of the kid properly, get adjusted to the reality and at the same time work hard to get their kid’s situation better so as to make him/her live independently. 

The traditional way of addressing issues with a special needs kid is through professional therapy. There is a lack of good online therapies for special needs kids online in India. 

Proposed Solution

The Rubicon Bridge will provide a SaaS Service Platform that will help qualified parents and professionals to provide online therapeutic classes and workshops. It will also provide a marketplace for products and resources and an option to receive the services through an online payment. The curated content will be made available to the parents through blogs and articles.

Architecture Diagram

AWS Serverless Stack

AWS Serverless Stack is excellent to minimise cost and at the same time provide great scalability, which is ideal for a startup organisation. 

  • Amplify:

AWS Amplify is a set of tools and services that can be used together or on their own, to help front-end web and mobile developers build scalable full stack applications. With Amplify helps to configure app back-ends and query the backend data using Graph QL

Amplify helped us:

  • To create/update the back-end API faster using Graph QL Schema
  • Add update authentication for 
  • Test the API using Graph QL queries
  • Add authentication to the DB tables using auth attributes
  • Add Lambda function at the client side and upload them to AWS
  • App Sync:

AWS AppSync is a fully managed service that makes it easy to develop Graph QL APIs by handling the heavy lifting of securely connecting to data sources like AWS DynamoDB, Lambda. The GraphQL queries help to easily for the DynamoDB tables easily and custom mutations are used to invoke Lambda functions that implement custom functionalities like payment implementation for a marketplace.

  • Lambda:

Lambda functions are used to implement custom logic. AWS Step Functions are used to design and run a serverless workflow that coordinates multiple AWS Lambda functions. In order to create an order we used the following step functions using Lambda

  • Payment processing using Stripe
  • Order creation updating the DynamoDB tables
  • DynamoDB: 

AppSync provides great integration with DynamoDB, which provides a scalable NO SQL DB. GraphQL resolvers using AppSync provides a great job in retrieving custom data from multiple tables. All this can be done by designing the DB schema correctly and with no extra effort.

UI/Front end:

  • React

React is a great framework for making dynamic web applications. We chose React as it is nicely integrated with Amplify. We used the powerful features of React – Hooks and Context to implement the complex data management across components in the website.

  • Gatsby

GatsbyJS is a modern static site generator which is built using the React Framework. Gatsby follows Google’s PRPL architectural pattern which aims to boost your website’s performance, especially on mobile devices.

PRPL stands for:

  • Push
  • Render
  • Pre-cache
  • Lazy-load

It also provides nice separation between data and user interface. It has very flexible routing capabilities to implement complex routing requirements.

CI/CD Architecture

The AWS Amplify CLI helps to deploy the changes to the back end. AWS CodePipeline helps to deploy the front end React app to the public S3 bucket.

Cost/Estimation

The website was developed completely using the AWS free account. There was no extra cost incurred and even when we go live, the cost we estimated per month for the operational service for a real load of 4 million requests per month was estimated to be $20 only.

Additional Services

  • Elastic Search: We are also providing facilities to search the static content as well as dynamic content (classes, events) using Elastic Search on the website.
  • Blog: A blog is especially created and added to the solution so that users can use it to communicate with others and also get feedback and comments.
  • Recommendations: We are planning to embed a recommendation engine to the solution based on the user profiles which will provide personalized recommendations on services and events based on the data provided by them during registration. It will use machine learning models built in python and hosted in Lambda.

Conclusion

It was an amazing journey working as a team to build a product right from an idea to an MVP as part of the capstone project.

Serverless computing offers several advantages like greater scalability, more flexibility, and quicker time to release, all at a reduced cost. Serverless architectures are inherently scalable, and quick deployments and updates are possible.

Authors Bio

Sudheer Kumar: Sudheer is a passionate engineering leader and an avid learner who loves to explore the latest technologies. He has 19 years of extensive experience in designing scalable enterprise applications and creating talented R&D teams and is currently working on his start up The Rubicon Bridge. His areas of interest include Serverless Cloud Computing, Cloud native development, micro services and he is currently honing his skills on AI/ML technologies. He can be reached at: https://www.linkedin.com/in/cvsudheer/

Sahil Raj: 

Sahil is an avid technologist at heart and helps companies transform digitally as his day job. He has an overall experience of 8 years across different domains and his major focus is on emerging technologies. His key areas of interest include enterprise level cloud migration, AI & ML implementation, Internet of things, enterprise architecture and solution architecting. He can be reached at: https://www.linkedin.com/in/sahil-raj-0b222a20/

Souvik Sarkar: 

Souvik is an inured healthcare specialist and a global leader, specializing in delivering innovative and cutting-edge solutions. He is adept at mobilizing cross functional teams and efficaciously steering them to success. With over 15 years of experience working in the US with major US HealthCare companies and CRM Cloud giants, he specializes in IT Strategy, DevOps and multi-cloud architecture. He can be reached at: https://www.linkedin.com/in/souvik-sarkar/

1

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4 + six =