CMU - A Distributed App
CMU - A Distributed App
This project aims to design and deploy a distributed system—starting from API integration and cloud database interaction to building a fully functional Android app, RESTful web service, and operational dashboard using real-world cloud deployment practices.
Client
Carnegie Mellon University
Year
2024
Category
App Dev + REST APIs + Cloud Analytics
ProjecT Link
Visit Site



VIsion & Problem Statement
VIsion & Problem Statement
Vision:
To build an integrated mobile-to-cloud distributed application that enables users to search dictionary data from a third-party API, with real-time monitoring and usage analytics powered by MongoDB and a custom dashboard.
Problem Statement:
This project addresses the challenge of building a complete system from scratch — fetching third-party API data, handling mobile-server communication, and surfacing operational analytics on a cloud-hosted dashboard.
Vision:
To build an integrated mobile-to-cloud distributed application that enables users to search dictionary data from a third-party API, with real-time monitoring and usage analytics powered by MongoDB and a custom dashboard.
Problem Statement:
This project addresses the challenge of building a complete system from scratch — fetching third-party API data, handling mobile-server communication, and surfacing operational analytics on a cloud-hosted dashboard.
VIsion & Problem Statement
Vision:
To build an integrated mobile-to-cloud distributed application that enables users to search dictionary data from a third-party API, with real-time monitoring and usage analytics powered by MongoDB and a custom dashboard.
Problem Statement:
This project addresses the challenge of building a complete system from scratch — fetching third-party API data, handling mobile-server communication, and surfacing operational analytics on a cloud-hosted dashboard.
Product Goal
Product Goal
Deliver a fully functional distributed application combining a mobile app, RESTful web service, and operations dashboard with end-to-end functionality, monitoring, and insights.
Deliver a fully functional distributed application combining a mobile app, RESTful web service, and operations dashboard with end-to-end functionality, monitoring, and insights.
Product Goal
Deliver a fully functional distributed application combining a mobile app, RESTful web service, and operations dashboard with end-to-end functionality, monitoring, and insights.
User Stories
User Stories
Title | As a/an | I want to | So that |
|---|---|---|---|
Perform Word Lookup | Mobile User | Search definitions, synonyms, and antonyms | I can learn and expand my vocabulary |
Fetch Word Data from API | Web Service Developer | Retrieve and parse word data from DictionaryAPI.dev | Serve meaningful word details to users |
Log Mobile Requests | Web Service Developer | Store user request information in MongoDB | Track and analyze application usage patterns |
Visualize Usage Data | Dashboard User | View operational analytics on searches and app usage | Monitor application health and improve decision-making |
Handle Failures Gracefully | Mobile Developer | Receive clear errors if the API or server fails | Maintain user trust through reliability |
Title | As a/an | I want to | So that |
|---|---|---|---|
Perform Word Lookup | Mobile User | Search definitions, synonyms, and antonyms | I can learn and expand my vocabulary |
Fetch Word Data from API | Web Service Developer | Retrieve and parse word data from DictionaryAPI.dev | Serve meaningful word details to users |
Log Mobile Requests | Web Service Developer | Store user request information in MongoDB | Track and analyze application usage patterns |
Visualize Usage Data | Dashboard User | View operational analytics on searches and app usage | Monitor application health and improve decision-making |
Handle Failures Gracefully | Mobile Developer | Receive clear errors if the API or server fails | Maintain user trust through reliability |
User Stories
Title | As a/an | I want to | So that |
|---|---|---|---|
Perform Word Lookup | Mobile User | Search definitions, synonyms, and antonyms | I can learn and expand my vocabulary |
Fetch Word Data from API | Web Service Developer | Retrieve and parse word data from DictionaryAPI.dev | Serve meaningful word details to users |
Log Mobile Requests | Web Service Developer | Store user request information in MongoDB | Track and analyze application usage patterns |
Visualize Usage Data | Dashboard User | View operational analytics on searches and app usage | Monitor application health and improve decision-making |
Handle Failures Gracefully | Mobile Developer | Receive clear errors if the API or server fails | Maintain user trust through reliability |



Core Features
Core Features
Feature | Description | Priority |
|---|---|---|
Android Dictionary App | Allows users to input words and search for definitions, synonyms, or antonyms | P1 |
RESTful Web Service (DictionaryServlet) | Fetches data from DictionaryAPI and serves structured JSON responses | P1 |
MongoDB Logging | Logs query terms, device type, OS, browser, IP address, and timestamps | P1 |
Background HTTP Requests | Uses background threading in an Android app for non-blocking web service calls | P1 |
Dashboard Analytics (DashboardServlet + JSP) | Displays the most recent search, the most used OS, and detailed logs | P2 |
Error Handling & Recovery | Handles invalid input, network failures, and API unavailability | P2 |
Feature | Description | Priority |
|---|---|---|
Android Dictionary App | Allows users to input words and search for definitions, synonyms, or antonyms | P1 |
RESTful Web Service (DictionaryServlet) | Fetches data from DictionaryAPI and serves structured JSON responses | P1 |
MongoDB Logging | Logs query terms, device type, OS, browser, IP address, and timestamps | P1 |
Background HTTP Requests | Uses background threading in an Android app for non-blocking web service calls | P1 |
Dashboard Analytics (DashboardServlet + JSP) | Displays the most recent search, the most used OS, and detailed logs | P2 |
Error Handling & Recovery | Handles invalid input, network failures, and API unavailability | P2 |
Core Features
Feature | Description | Priority |
|---|---|---|
Android Dictionary App | Allows users to input words and search for definitions, synonyms, or antonyms | P1 |
RESTful Web Service (DictionaryServlet) | Fetches data from DictionaryAPI and serves structured JSON responses | P1 |
MongoDB Logging | Logs query terms, device type, OS, browser, IP address, and timestamps | P1 |
Background HTTP Requests | Uses background threading in an Android app for non-blocking web service calls | P1 |
Dashboard Analytics (DashboardServlet + JSP) | Displays the most recent search, the most used OS, and detailed logs | P2 |
Error Handling & Recovery | Handles invalid input, network failures, and API unavailability | P2 |
Success Metrics
Success Metrics
Metric | Description |
|---|---|
API Connectivity Success Rate | % successful connections to DictionaryAPI.dev |
MongoDB Write/Read Latency | Average time for CRUD operations during user sessions |
Top Search Terms | Most queried words through the Android app |
Device Type Breakdown | Device OS and model distribution across users |
Average Server Response Time | Time from HTTP request to HTTP response |
Metric | Description |
|---|---|
API Connectivity Success Rate | % successful connections to DictionaryAPI.dev |
MongoDB Write/Read Latency | Average time for CRUD operations during user sessions |
Top Search Terms | Most queried words through the Android app |
Device Type Breakdown | Device OS and model distribution across users |
Average Server Response Time | Time from HTTP request to HTTP response |
Success Metrics
Metric | Description |
|---|---|
API Connectivity Success Rate | % successful connections to DictionaryAPI.dev |
MongoDB Write/Read Latency | Average time for CRUD operations during user sessions |
Top Search Terms | Most queried words through the Android app |
Device Type Breakdown | Device OS and model distribution across users |
Average Server Response Time | Time from HTTP request to HTTP response |
Technical Stack
Technical Stack
Models: DictionaryAPI.dev (external dictionary data)
Frameworks: Android SDK (Java), Servlet API (Java), MongoDB Java Driver
Data Sources: DictionaryAPI.dev (3rd party API), MongoDB Atlas (cloud-hosted)
Outputs: Word search results (JSON), MongoDB logs, operational analytics dashboard
Models: DictionaryAPI.dev (external dictionary data)
Frameworks: Android SDK (Java), Servlet API (Java), MongoDB Java Driver
Data Sources: DictionaryAPI.dev (3rd party API), MongoDB Atlas (cloud-hosted)
Outputs: Word search results (JSON), MongoDB logs, operational analytics dashboard
Technical Stack
Models: DictionaryAPI.dev (external dictionary data)
Frameworks: Android SDK (Java), Servlet API (Java), MongoDB Java Driver
Data Sources: DictionaryAPI.dev (3rd party API), MongoDB Atlas (cloud-hosted)
Outputs: Word search results (JSON), MongoDB logs, operational analytics dashboard

Key Results
Built a functional Android app with multiple Views (TextView, EditText, ImageView)
Successfully implemented background HTTP calls with structured JSON parsing
Developed a cloud-deployed Servlet-based RESTful web service integrated with MongoDB Atlas
Created a dynamic operations dashboard displaying top queries, user demographics, and logs
Handled API failures, server downtime, and network issues with robust fallback messaging
Constraints, Risks, and Mitigations
Constraint / Risk | Impact | Mitigation Strategy |
|---|---|---|
API Availability and Downtime | Breaks app functionality temporarily | Implement retry and fallback messaging |
MongoDB Atlas Connection Limits | Logging failures | Set efficient connection pooling, handle write retries |
GitHub Codespaces Deployment Errors | Service unavailability | Pre-deploy in a dev environment, use public visibility |
Web Service Latency | Slower mobile app responses | Optimize payloads, server-side filtering |
Business Impact
Demonstrates expertise in building scalable mobile-to-cloud distributed systems
Equips future developers with real-world skills across mobile development, cloud deployment, and NoSQL databases
Enables near real-time operational insights from app usage data
Serves as a foundational architecture model for scalable mobile-backed SaaS products
Future Roadmap
Short-Term
Expand analytics to track query frequency over time
Integrate natural language error correction for misspelled queries
Mid-Term
Add predictive auto-suggestions for word searches
Expand the app with multilingual dictionary API support
Long-Term
Build AI-driven learning modules based on user vocabulary queries
Launch a premium model offering personalized word lists and learning pathways
Key Results
Built a functional Android app with multiple Views (TextView, EditText, ImageView)
Successfully implemented background HTTP calls with structured JSON parsing
Developed a cloud-deployed Servlet-based RESTful web service integrated with MongoDB Atlas
Created a dynamic operations dashboard displaying top queries, user demographics, and logs
Handled API failures, server downtime, and network issues with robust fallback messaging
Constraints, Risks, and Mitigations
Constraint / Risk | Impact | Mitigation Strategy |
|---|---|---|
API Availability and Downtime | Breaks app functionality temporarily | Implement retry and fallback messaging |
MongoDB Atlas Connection Limits | Logging failures | Set efficient connection pooling, handle write retries |
GitHub Codespaces Deployment Errors | Service unavailability | Pre-deploy in a dev environment, use public visibility |
Web Service Latency | Slower mobile app responses | Optimize payloads, server-side filtering |
Business Impact
Demonstrates expertise in building scalable mobile-to-cloud distributed systems
Equips future developers with real-world skills across mobile development, cloud deployment, and NoSQL databases
Enables near real-time operational insights from app usage data
Serves as a foundational architecture model for scalable mobile-backed SaaS products
Future Roadmap
Short-Term
Expand analytics to track query frequency over time
Integrate natural language error correction for misspelled queries
Mid-Term
Add predictive auto-suggestions for word searches
Expand the app with multilingual dictionary API support
Long-Term
Build AI-driven learning modules based on user vocabulary queries
Launch a premium model offering personalized word lists and learning pathways
Key Results
Built a functional Android app with multiple Views (TextView, EditText, ImageView)
Successfully implemented background HTTP calls with structured JSON parsing
Developed a cloud-deployed Servlet-based RESTful web service integrated with MongoDB Atlas
Created a dynamic operations dashboard displaying top queries, user demographics, and logs
Handled API failures, server downtime, and network issues with robust fallback messaging
Constraints, Risks, and Mitigations
Constraint / Risk | Impact | Mitigation Strategy |
|---|---|---|
API Availability and Downtime | Breaks app functionality temporarily | Implement retry and fallback messaging |
MongoDB Atlas Connection Limits | Logging failures | Set efficient connection pooling, handle write retries |
GitHub Codespaces Deployment Errors | Service unavailability | Pre-deploy in a dev environment, use public visibility |
Web Service Latency | Slower mobile app responses | Optimize payloads, server-side filtering |
Business Impact
Demonstrates expertise in building scalable mobile-to-cloud distributed systems
Equips future developers with real-world skills across mobile development, cloud deployment, and NoSQL databases
Enables near real-time operational insights from app usage data
Serves as a foundational architecture model for scalable mobile-backed SaaS products
Future Roadmap
Short-Term
Expand analytics to track query frequency over time
Integrate natural language error correction for misspelled queries
Mid-Term
Add predictive auto-suggestions for word searches
Expand the app with multilingual dictionary API support
Long-Term
Build AI-driven learning modules based on user vocabulary queries
Launch a premium model offering personalized word lists and learning pathways
More Works More Works
More Works More Works

CMU - AI FORGE
STRATEGY + GAME DEV + AI NPCS
2024
2024

CMU - AI FORGE
STRATEGY + GAME DEV + AI NPCS
2024
2024

CMU - AI FORGE
STRATEGY + GAME DEV + AI NPCS
2024
2024

CMU - AI FORGE
STRATEGY + GAME DEV + AI NPCS
2024
2024

HONDA - KOO
STRATEGY + GEN AI + UX DESIGN
2024
2024

HONDA - KOO
STRATEGY + GEN AI + UX DESIGN
2024
2024

HONDA - KOO
STRATEGY + GEN AI + UX DESIGN
2024
2024

HONDA - KOO
STRATEGY + GEN AI + UX DESIGN
2024
2024