Standup Summary
is a web app that takes in your stand-up notes on MLH Github, returns a list of most frequently used words, and generates a new sentence based on user's past comments using Markov chain rule.
Inspired by the MLH Fellowship Halfway Hackathon to improve the experiences of current and future fellows, this Standup Summary
project aims to provide a tool for fellows to recap their summer work and generate resume-ready work descriptions!
The project uses React front-end and Flask back-end. To install the project, your machine must have python
and npm
installed.
Now, to install the front-end, nagivate to /client
folder and run npm install
; and to install the back-end, navigate to standupSummary/server/
and run pip install -r requirements.txt
.
Once you have installed all the dependencies, let's create the sqlite3 database login.db
locally on your machine.
To start, navigate to the /server
folder and run:
sqlite3 login.db
.tables
.exit
Once login.db
is created, let's start a python interactive session to create the db tables in login.db
.
To start a python interactive session run:
python
from app import db
db.create_all()
quit()
Once you have installed all the dependencies and created login.db
, let's fire up our servers. To start the React server, run:
cd client/
npm start
To start the Flask server, on a new terminal, run:
export OAUTHLIB_INSECURE_TRANSPORT=1
export OAUTHLIB_RELAX_TOKEN_SCOPE=1
export FLASK_APP=app.py
cd standupSummary/server/
flask run
The first two commands allow us to utilize GitHub Oauth without an https request, while the subsequent commands start the Flask server.
Once you have started both React and Flask servers, you can use your browser to navigate to http://localhost:3000/
and start using our app!
Note: by default, the Flask server will run on localhost:5000 and React server will run on localhost:3000. If these ports are already in use, you will have to free these ports first before starting the servers in order for the web app to work properly.
Once you start the servers, you are greeted with the login screen. After you have logged in, you can choose to see your most frequently used words by choosing the right pod (note that only members of a port can see comments of that port). Then, you are directed to the following screen with the most frequent words that you used in your stand-up notes (excluding all English stop words).
In addition, you can generate a new sentence based on your comments using the Generate a new sentence
button.
If you are interested in further developing the web app, you first should get Github Personal Access token.
For authentication access token, .... #TODO
- Serve the static React files with Flask to make deployment easier
- Deploy the app to a live website
- Improve the sentence generator to make it resume-ready