0% found this document useful (0 votes)
12 views

Project Report

Uploaded by

psbijoy2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Project Report

Uploaded by

psbijoy2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Mawlana Bhashani Science and Technology University

Santosh, Tangail -1902

Faculty of Engineering
Department of Computer Science and
Engineering
Course Title: Software Development Project-II and Industrial Tour
Course Code: CSE-3116

Project Report

Submitted By: Supervised By:


Md. Masud Rana Mohd. Sultan
ID: CE20034 Ahammad
Nasif Uz Zaman Assistant Professor
ID: CE20038 Department of
Year: 3rd Signature of Supervisor Computer Date
Science and
Semester: 1st Engineering MBSTU
Session: 2019-20
Contents

1 Introduction 2
i. Technical Information and Background.................................................2
ii. Objective of The Project.........................................................................2
iii. Scope of the Project................................................................................2
iv. Benefit or Significance of the Project....................................................2

2 Requirement Analysis 3
i. Feasibility Studies..................................................................................3
ii. System Requirement..............................................................................3
iii. User Requirements................................................................................3
a. Functional Requirements..................................................................3
b. Nonfunctional Requirements.............................................................4

3 System Model 4
i. Use Case Diagram..................................................................................4
ii. Class Diagram........................................................................................5

4 Design, Implementation and Testing 6


i. System Design or Architecture of the Project........................................6
ii. Implementation of the Project................................................................6
iii. Testing....................................................................................................7

5 Conclusion 10

1
Title of the Project: Chatting Application
1. Introduction

The Chatting Application project aims to provide a robust, user-friendly platform for real-time
communication. The application is designed to support text-based messaging, multimedia
sharing, and group chats, catering to the growing demand for seamless digital interaction in
personal and professional spheres.

i. Technical Information and Background

The Chatting Application project aims to create a real-time communication platform that supports
seamless text-based messaging, multimedia sharing, and group chats. Developed using Java and
Android Studio, the application leverages modern technologies like Firebase and Socket Programming
to ensure fast and reliable communication.
Key Technologies:
1. Java:
The core programming language used to build the application’s backend logic and Android-
specific functionalities. Java ensures platform compatibility, reliability, and efficient memory
management.
2. Android Studio:
The integrated development environment (IDE) for building Android applications. Android
Studio offers tools like a visual layout editor, debugging support, and performance profilers to
streamline the development process.
3. Firebase:
Firebase is used as the cloud-based backend to handle real-time database management,
authentication, and notifications. It provides robust services for user authentication and data
synchronization.
4. Socket Programming:
Sockets facilitate real-time communication by enabling direct data exchange between devices
over a network. This approach ensures low-latency messaging for a smoother user experience.

ii. Objective of the Project

The primary objective of the Chatting Application project is to develop a reliable, real-time
communication platform that allows users to exchange messages and multimedia in a secure and user-
friendly environment. The application aims to meet the growing demand for fast, accessible, and
modern communication tools on mobile devices.
Specific Objectives:
1. Seamless Real-Time Messaging.
2. User Authentication and Security.
3. Customizable User Interface.
2
iii. Scope of the Project

Key Aspects of the Project Scope:


1. Real-Time Communication.
2. User Interface and Experience.
3. Target Audience:
o Individuals seeking personal communication tools.
o Businesses and organizations needing team collaboration.
o Communities or interest groups desiring group interaction features.
4. Scalability and Future Expansion:
o Integration of additional features like voice and video calling.
o Expanding the platform to other operating systems, such as iOS.

iv. Benefit or Significance of the Project

The Chatting Application offers significant advantages to its users by providing a secure, efficient,
and user-friendly platform for real-time communication. Its impact spans personal, professional, and
organizational domains, addressing key challenges in digital communication.
Key Benefits and Significance:
1. Enhanced Communication.
2. Improved Accessibility.
3. Data Security and Privacy.
4. User-Centric Design.
5. Time and Cost Efficiency.
Significance to Stakeholders:
 For Users: Offers a secure, efficient, and convenient way to communicate.
 For Developers: Demonstrates expertise in Android development, Firebase integration, and
socket programming, showcasing technical skills.
 For Businesses: Provides a platform for team collaboration, enhancing productivity and
efficiency.

2. Requirement Analysis

i. Feasibility Studies

1. Technical Feasibility:
 Development Tools
 Backend Services
 Real-Time Communication
 Platform Compatibility

2. Operational Feasibility:
 User Demand
3
 Ease of Use
 Deployment

3. Legal Feasibility:
 Data Privacy
 Content Policy
 Open-Source Licenses

ii. System Requirements

1. Hardware Requirements
a. For Development
 Processor: Intel i5 or higher (or equivalent AMD processor)
 RAM: 8 GB or higher
 Storage: 500 GB HDD or SSD with at least 20 GB free space
 Graphics: Integrated or dedicated GPU for Android Studio rendering
 Peripherals: Standard keyboard, mouse, and a high-resolution monitor
b. For End-Users
 Device Type: Android smartphone or tablet
 Processor: 1.4 GHz quad-core or higher
 RAM: Minimum 2 GB
 Storage: 50 MB of free space for the app installation, plus additional space for cached media
and messages
 Network: Active internet connection (Wi-Fi or mobile data)

2. Software Requirements
a. For Development
 Operating System: Windows 10/11, macOS, or Linux
 Development Tools:
o Android Studio (latest version)
o Java Development Kit (JDK) 8 or higher
o Gradle (integrated with Android Studio)
 Database: Firebase Real-Time Database
 Version Control: Git and GitHub/Bitbucket for source code management
b. For End-Users
 Operating System: Android OS version 5.0 (Lollipop) or higher
 App Store: Google Play Store for application download

3. Functional Requirements
 User Authentication:
o Secure login and registration using Firebase Authentication.
o Password recovery and social media login (optional).
4
 Messaging Features:
o Real-time text messaging using socket programming.
o Delivery/read receipts and typing indicators.
o Support for multimedia sharing (images, videos, documents).
 Data Storage and Syncing:
o Real-time data synchronization via Firebase.
o Storage of chat history and multimedia on Firebase Cloud Storage.

4. Performance Requirements
 Low Latency: Ensure real-time message delivery within 1 second for active internet connections.
 Scalability: Ability to handle up to 100 active users in the initial phase, with room for scaling.
 Battery Optimization: Minimal battery consumption on Android devices.

5. Security Requirements
 End-to-end encryption for secure messaging.
 Secure storage of user credentials and chat history in Firebase.
 Protection against unauthorized access and data breaches.

iii. User Requirements

Functional Requirements:
1. General User Requirements
 Account Management
 Real-Time Messaging
2. Usability Requirements
 User Interface (UI)
 User Experience (UX)

Non-functional Requirements:

1. Performance Requirements
 Response Time
 Scalability
 Efficiency

2. Security Requirements
 Data Protection
 Authentication
 Data Privacy

5
3. System Model

i. Use Case Diagram

6
ii. Class Diagram

7
iii. Flow-chart

8
4. Design, Implementation and Testing

i. System Design/Architecture of the Project

High-Level Architecture
The system architecture comprises the following key components:
1. Client-Side (Front-End)
2. Backend (Server-Side)
3. Networking Layer
4. Data Layer

ii. Implementation of the Project

1. Setting Up the Development Environment


 Tools
 Dependencies
2. Front-End Implementation (Client-Side)
 UI Design:
o Create a clean and intuitive interface using XML in Android Studio.
o Design core screens such as:
 Login/Registration screen
 Chat screen
 Profile management screen
 Client Logic

3. Back-End Implementation
 Firebase Integration:
o Authentication:
o Realtime Database:
o Cloud Storage:

iii. Testing

1. Unit Testing
 Objective:
Test individual components or modules in isolation to ensure they perform as expected.
 Examples:
o Test the login functionality with valid and invalid credentials.
o Verify that messages are correctly sent, received, and stored in the Firebase Realtime
Database.
o Validate multimedia uploads and retrieval from Firebase Cloud Storage.

2. Integration Testing
 Objective:

9
Ensure that different components of the system work together seamlessly.
 Examples:
o Verify the interaction between the front-end and Firebase backend.
o Test real-time updates using socket communication between two users.
o Check data consistency between the local cache and the Firebase Realtime Database.
 Tools:
o Firebase Test Lab for simulating multiple devices and network conditions.

3. Functional Testing
 Objective:
Validate that the application meets all specified functional requirements.
 Examples:
o Test user registration, login, and profile updates.
o Ensure group chat features like adding/removing members and message
synchronization work correctly.
o Verify the functionality of push notifications for new messages.

4. Performance Testing
 Objective:
Assess the application’s performance under different loads and stress levels.
 Examples:
o Simulate 100 concurrent users sending messages to ensure the server can handle the
load.
o Measure the application’s response time for delivering messages.
 Tools:
o Android Profiler for analyzing resource usage (CPU, memory, and battery)

5. Conclusion
Key Highlights:
1. Technical Achievements:
2. User-Centric Features:
3. Scalability and Performance:
4. Learning Outcomes:

Future Enhancements:
The current implementation provides a strong foundation for future improvements, including:
 Adding voice and video calling features.
 Extending platform compatibility to iOS and web browsers.
 Incorporating AI-based chatbots for automated responses and assistance.
 Enhancing accessibility with support for multiple languages and improved accessibility
features.

1
0
Appendix:

1
1
GitHub Link: https://github.com/ce20034/Boithok.git
1
2

You might also like