Matrimonial Application using Flutter

Meet Suvariya
5 min readJan 18, 2022

--

As part of my summer internship, I was given a task to build a matrimonial application using flutter.

What is Flutter?

Flutter is an open-source UI software development kit created by Google. It is used to develop cross-platform applications for Android, iOS, Linux, Mac, Windows, and the web from a single codebase.

The major components of Flutter include:

  • Dart platform
  • Flutter engine
  • Foundation library
  • Design-specific widgets
  • Flutter Development Tools (DevTools)

The flow of the Application

Users have to first register themself into an application. They have to first verify their phone number after that they have to enter their basic details like their name, birth date, gender, email id, and location.

Once the user registers themselves, they get their Password for login into the app via the Email address they provided at the time of registration. Now they can log in to the app by entering their phone number and password.

After successful login to the app, the user will see the home screen displaying users’ cards around their location. Users can see his/her profile by clicking on the card also they can swap left if they don’t like or else they can swap right for adding request. Also, they can chat with each other by connecting with each other.

Register & Login

While creating an account/ Register into an application users have to verify their number. Which is done by Firebase Phone Authentication. After successful phone verification, they have to enter their details like name, BOD, gender, location. after successful registration they will get their password in an email they provided while registering themself.

Screens for Registration Process

Users can log in by entering their registered phone number and password. Also, they can change their password anytime.

Screens for Login with Phone Number

Also, Users have to enter their basic information about themself, about family, partner preferences, etc. Below is the list of information in a specific form.

Home screen

Change Password

After successful registration users will get the password on their registered email address. After the user can log in to the app. the user can change that password by entering old and new passwords.

Screen for Changing an Account Password

About Me:

  • Marital Status (Single, Divorced, Widow)
  • About user
  • Job title
  • Company
  • Education
  • Height
  • Cast
  • Sub cast
  • Language
  • Location

This screen is built using various flutter widgets like SingleChildScrollview, TextFromField, etc. This screen will take all the details listed above and it will add/update these details for the user. After taking these details from the user I will call the API to update user information.

Along with these users can upload their photos and also set and update their profile photo any time. Users can upload images from the gallery also they can capture an image using a camera. After selecting or capturing an image users can crop, edit an image after that they can upload it. Also, they can delete any image at any time.

Profile details, Family details, and partner preferences screen.

About Family:

  • Father’s Profession
  • Mother’s Profession
  • Number of Brothers (No. of Married brothers and Total brothers)
  • Number of Sisters (No. of Married sisters and Total sisters)

This screen is built using various flutter widgets like SingleChildScrollview, TextFromField, etc. This screen will take all the details listed above and it will add/update these details for the user. After taking these details from the user I will call the API to update user information.

Partner Preferences

  • Age Range
  • Location
  • Minimum Education
  • Other

This screen is built using various flutter widgets like SingleChildScrollview, TextFromField, etc. For asking about the user’s location, I used a Mapbox API to give suggestions to the users.

This screen will take all the details listed above and it will add/update these details for the user. After taking these details from the user I will call the API to update user information.

Request Features

The request will be sent once any user swaps the card in the right direction. All receiver can see their request tab in their there is 4 type of screen.

  1. Received Request
  2. Sent Request
  3. Accepted Request
  4. Rejected Request
Request & Notification Screens

Here in this tab users can find all the requests they received or sent. Also, they can check their previously accepted or rejected requests. Also in the received request part they can accept or reject that request by reviewing the profile.

Profile of any person

Users can see the full profile of any other user just by tapping on the card of any user. In this profile, all the information related to education, family, partner preferences, and photos of that user will be displayed using the singleChildScroll widget.

Profile of logged in user and other users

Subscription plans

This app is subscription-based, so users have to buy a subscription to access features like seeing the contact information of any other user, more connections they can make within a specific time, etc.

Subscription Packages

Chatting Feature

This application also has messaging feature. user can send a message as a text, image. Also calling feature is there so users can use the calling and video call features as well. This feature is remaining and it will be done by respective company’s employee.

Chat Screen

In this task Design and API integration are done by me. This application is backed by Rest API which is done by another intern of the company.

During this internship and by developing this application I learned so many things like, how to integrate the REST API with the flutter application, How to implement phone number verification using firebase phone authentication, and how I explored different types of flutter widgets, etc.

--

--

Meet Suvariya
Meet Suvariya

Written by Meet Suvariya

Software Engineer | Microsoft Learn Student Ambassador

No responses yet