Project Title

EECS 485

Team

Tanya Lai, Annie Li, Jennifer Tran

Description

These are the projects made while taking the University of Michigan's EECS 485 (Web Systems) course. All projects had style checking to make sure Python conformed to the PEP 8 Style Guide, PEP 257 Docstring Conventions, and Pylint. HTML was checked to be W3C HTML5 compliant and JavaScript checked with ESLint to fit to the Airbnb JavaScript Style Guide. Technologies used include JavaScript, HTML, CSS, React, Python, Flask, Jinja, SQL, Bash, MapReduce, tf-idf, and pagerank. Click the buttons below to expand for more details.


Icon made by Freepik from www.flaticon.com


This generator takes in an input directory with HTML templates, JSON data and miscellaneous static files and outputs a directory with corresponding HTML generated.


Technologies

Flask, Python (Click), Jinja, HTML

This version of Insta485 is a mini-Instagram clone built with server-side dynamic pages. 16 API endpoints were made for CRUD functionalities and login/logout. Access control was also implemented so only users with the correct credentials could POST/GET from certain endpoints.


Technologies

Flask, Python, HTML, SQL

This version of Insta485 is a mini-Instagram clone built with React as client-side dynamic pages. Flask was used to build a REST API to be called by the front-end to retrieve post info from the SQLite database. Pagination and the history API were also used. Bash was used to write a script to run the servers and control the database.


Technologies

React, JavaScript, Flask, Python, Bash, SQL (SQLite), HTML, CSS

This project is an implementation of a single machine, multi-process, multi-threaded server. The implementation makes use of sockets, threads, and processes to communicate between a main manager and multiple workers, account for fault tolerance and heartbeat messages, and round-robin partition input to complete user-submitted MapReduce tasks. Bash was used to write a script to run the system.


Technologies

Python (processes, sockets, threads), Bash

This project involves building and using a MapReduce based indexer to create an inverted index. Our team wrote the mappers and reducers in python to perform the tasks. A RESTful API index server was then built to return ranked search results based on the tf-idf and PageRank score. A simple front-end search server was made to query and display the search field and search results. Bash was used to write a script to start the servers and manage the database.


Technologies

Python, Flask, JavaScript, HTML, Bash, SQL

Project Dates

2020