COURSE TITLE:
MAD
SUBMITTED BY :
Moeez Ahmad
ROLL NO :
21011598-155
SUBMITTED TO:
Mam Qurutulain
Assignment 2
App Name: Grammarly (Web Services Integration)
Topic: Grammarly Mobile Application
Introduction:
Grammarly is a widely used writing assistant tool that helps users improve the quality of their
writing by providing real-time suggestions for grammar, spelling, punctuation, style, and tone.
This assignment aims to explore the theoretical aspects of developing a mobile application
like Grammarly that integrates web services through HTTPS and utilizes various HTTP
methods such as GET, POST, PUT, and DELETE to achieve its intended functionality.
Overview:
The Grammarly mobile application is designed to assist users in creating well-written content
by leveraging advanced algorithms and web services. Through seamless interaction with
backend systems via HTTPS, the app provides users with valuable feedback and
customization options. This overview outlines how the app can use different HTTP methods
to facilitate real-time communication and effective user experience.
Security Considerations:
Ensuring data security and user privacy is crucial for an application like Grammarly, which
handles sensitive user content. The application must implement robust security measures to
protect user data from unauthorized access, data breaches, and other security threats. Key
security practices include:
● Encryption: All data transmitted between the app and the server should be
encrypted using protocols like TLS (Transport Layer Security) to prevent interception.
● Authentication and Authorization: Implementing user authentication (e.g., OAuth
2.0) and proper authorization mechanisms to ensure only authorized users can
access specific features.
● Data Protection: Storing user data securely in the backend, with regular updates to
encryption algorithms and data protection protocols.
● Secure API Communication: Using HTTPS for secure communication between the
app and the server to prevent data leakage and tampering.
Use Case:
1. Real-Time Writing Analysis:
○ Users submit their writing content for real-time grammar, spelling, and style
analysis.
○ The app retrieves feedback and suggestions from the server and displays it to
the user.
2. User Preferences Customization:
○ Users update their preferences for language style and analysis depth.
○ The app sends updated settings to the server, and the server confirms the
changes.
3. Text History Management:
○ Users request to view their past writing submissions.
○ The app retrieves a history of the user’s documents for easy reference.
4. Deleting Submission History:
○ Users choose to clear their history of past submissions.
○ The app sends a request to the server to delete the data, and the user is
notified once the deletion is successful.
5. Real-Time Feedback Notifications:
○ Users receive notifications when a new analysis is completed or when
updates are available.
○ The app communicates with the server to deliver timely alerts.
HTTP Methods and Their Integration:
1. GET Method:
Purpose: Used for retrieving data from the server.
Use Case:A user wants to fetch analysis results of their previously submitted text.
Example:
The app sends a GET request to the server endpoint to receive detailed feedback, which is
then displayed to the user.
2. POST Method:
Purpose: Enables sending new data to the server for processing.
Use Case: A user submits new text content for grammar and style analysis.
Example: The app formats the user’s text into a JSON object and sends it to the server via
a Post request. The backend processes this data and returns a response with the analysis.
3. PUT Method:
Purpose: Used to update existing data or records on the server.
Use Case: A user changes their preferences or updates settings in the app.
Example: The app sends a PUT request with updated user settings, such as preferred
analysis style. The server processes the update and sends a confirmation.
4 DELETE Method:
Purpose: Allows for deleting data from the server.
Use Case: A user decides to clear their history of past submissions.
Example: The app sends a DELETE request, prompting the server to remove the data.
The user receives a notification that their history has been successfully deleted.
Technologies and Tools Used:
Android Studio (Java):
The primary development environment for building the mobile application.
Volley Library: An essential tool for network operations, facilitating the sending and
handling of HTTP requests.
JSONPlaceholder API (Simulated):
Used as a mock backend service for demonstration purposes to simulate real-world API
interactions.
Conclusion:
Developing an application like Grammarly involves understanding the integration of web
services and implementing HTTP methods efficiently. By employing GET, POST, PUT, and
DELETE methods, developers can create a robust, user-friendly application that interacts
seamlessly with backend services. This enhances the overall user experience, making it
possible for users to receive real-time feedback, customize their preferences, and maintain
control over their data securely.