EECS 485
TeamTanya Lai, Annie Li, Jennifer Tran
DescriptionThese 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.
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