Full-Stack Development
Course: University of Michigan EECS 485: Web Systems (Fall 2023)
Instagram Clone (Python, Flask, JavaScript, React, SQL, HTML, CSS, AWS, REST API, AJAX) September 2023 – October 2023
Focus Areas: Web Application Engineering, REST APIs, Frontend & Backend Integration
-
Developed a full-stack Instagram clone in a three-phase project:
-
Static Site Generator – Built a templated static site generator using Python, HTML, and CSS, processing JSON data to generate non-interactive pages.
-
Server-Side Dynamic Pages – Created a Flask-based web app with a SQL database, enabling user authentication, posts, comments, and likes through server-side rendering.
-
Client-Side Dynamic Pages – Implemented a React frontend consuming a Flask REST API, enabling AJAX-based updates for seamless user interactions.
-
-
Designed and optimized a SQL database schema, ensuring efficient queries and data integrity.
-
Implemented RESTful API endpoints to support dynamic content loading, real-time interactions, and authentication.
-
Deployed the application on AWS, integrating cloud-based hosting and database management.
MapReduce (Python, Hadoop MapReduce) October 2023 – November 2023
Focus Areas: Distributed Systems, Fault Tolerance, Parallel Computing, Transmission Control Protocol (TCP), User Datagram Protocol (UDP)
-
Developed a custom MapReduce framework inspired by Google’s MapReduce paper, enabling distributed processing across clusters.
-
Implemented a fault-tolerant job scheduling system, where a Manager node distributes MapReduce jobs to multiple Worker nodes via TCP/UDP communication.
-
Designed a multi-threaded Manager to assign tasks dynamically and monitor Worker status via heartbeat messages.
-
Engineered a Worker system to execute map and reduce tasks, handling failures through automatic job reassignment.
-
Built a lightweight job submission system, supporting word count, grep, and other large-scale data processing tasks.