Software Engineering Practical File
Software Engineering Practical File
BeFrend
Software Engineering
Practical File
Submitted by-
Ayush Yadav
0201IT201023
#Team Members:
Team Member 1:
● Ayush Yadav
● 0201IT201023
● Information Technology
Team Member 2:
● Yogendra Manawat
● 0201IT201099
● Information Technology
Team Member 3:
● Vijendra Vaishya
● 0201IT201093
● Information Technology
Team Member 4:
● Anurag Soni
● 0201IT201016
● Information Technology
#Project Description:
BeFrend is a product that was designed to help college students find people from
their college who have similar interests and skills as them. To collaborate, explore
& build the future together.
1. Product Backlog
● We started by creating a product backlog, which is a list of features we
wanted to include in BeFrend.
● We used Figma to design the app's UI, to deliver a working product as early
as possible.
2. Sprint-Based Development
● We used a sprint-based approach to development, where we decided to build
one feature at a time during each sprint.
● We used user stories and acceptance criteria to guide our development
efforts and ensure that we were meeting the needs of our users.
3. Continuous Feedback
● After adding each feature, we shared the app with a group of testers on
WhatsApp to get feedback on the usability and functionality.
● We held daily stand-up meetings to discuss progress, identify obstacles, and
plan the next steps.
4. Continuous Integration and Delivery
● We used continuous integration and delivery to ensure that changes were
tested and deployed quickly and efficiently.
5. Final Launch
● Finally, after several iterations, we were able to launch BeFrend on the Play
Store.
By following these Agile practices, we were able to deliver a high-quality app that
met the needs of our users.
#Software Design:
1 DFD
1. State Diagram
#Technology Used:
Client Side Android App: Kotlin, XML
1. Basics:
● Jetpack Navigation Component
● Fragments
● Kotlin Coroutines
● View Binding
● Shared View Model
2. Google Firebase:
● Firebase Google Authentication.
● Cloud Firestore - Stores both User Login info and User Data
● set, add, delete & snapshots feature of Firebase DB.
● Firebase Storage - to store Images of Users
3. User Interface:
● Recycler View
● Swipeable Card UI
● Lottie Files
4. Abstract Concepts:
● Caching Data -> To Reduce load time
● Models of Each Entity
5. 3rd Party Libraries:
● Glide -> Image Loading
● Volley -> Network Calls
● AsynctaskCoffee /TinderLikeCardStack -> Discover Page Cards UI
6. Image Related Libraries:
● Dimezis /BlurView -> Blur Images
● Shouheng88 /Compressor -> Image Compression
● Dhaval2404 /ImagePicker -> Image Picker
#Coding:
This project is divided into several sections which makes it possible, below is brief
description of them.
After alpha testing, we moved on to beta testing, which involved releasing the app
to a small group of external users. We shared the app with our friends to get
feedback on the app's usability and functionality. We encouraged them to use the
app as they normally would and asked them to report any issues they encountered.
We also took note of any suggestions for improvement they provided.
During the testing phase, we used both black box and white box testing techniques.
Black box testing involved testing the app's functionality without knowing the
internal workings of the app. We tested the app's input and output by using
different inputs and checking the corresponding outputs. In contrast, white box
testing involved testing the app with knowledge of its internal workings. We tested
the app's code to ensure that it was working correctly and that there were no logical
errors.
We continue to monitor the app for any defects or issues and address them in a
timely manner to ensure that our users have a seamless experience on the app.
#Future Scope
● Expansion to other colleges and universities: Initially, the
BeFrend app could be limited to a single college or university.
However, once the app is successful, it could be expanded to
other institutions, potentially nationwide or even globally.