top of page

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:

    1. ​​​​​​​Static Site Generator – Built a templated static site generator using Python, HTML, and CSS, processing JSON data to generate non-interactive pages.

    2. 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.

    3. 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.

bottom of page