---
# System prepended metadata

title: Project 1

---

---
title: 'Project 1'
author name: 'Yipu' 
---

Project 1: QuoteBot - Quote of the Day
===


[TOC]

## Overview

Whether you’re going through hard times, need an extra push to get stuff done, or enjoy sharing inspirational quotes on social media, QuoteBot has you covered. Based on the word you provided, QuoteBot will generate a personalized inspirational quote for you instantly. In addition, QuoteBot allows you to share the quote easily, "like" the quote, and generate more quotes if needed. 

> See the prototype of QuoteBot here: 
> https://codepen.io/yipuz/pen/oNzMOem

Components and Actions
---

There are three sections on the webpage. 

The top section is a navigation bar, where the user can learn more about QuoteBot through the "About" tag and report a bug when needed through the "Report a Problem" tag.

The middle section is where the user can submit the "seed word". Based on the word the user provided, the system will then search through its quote library and output the most relevant quote. 

The third section has three buttons: "Share", "Like" and "More quotes". The "Share" button allows the user to share the quote on Facebook, Instagram or Twitter. The "Like" button will move up the position of the given quote in the ranking system. When the relevance level is the same, the quote that has more likes will be displayed first. The "More Quotes" button will output another quote based on the same "seed word" the user provided. 

Data Structure
---
In order to make this idea work, the system needs to have a quote library with two fields: quote text and like count. The system will first search through all quote texts and select those quotes that contain the "seed word". Then the system will rank the selected quotes based on how many times the "seed word" appears in each quote and how many likes each quote has. In the end, the system will output the quote which has the highest relevance and the highest like count. 



:::info
**Find this document incomplete?** Leave a comment!
:::

