diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..d98d252d
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,6 @@
+{
+ "name": "PythonBuddy",
+ "image": "mcr.microsoft.com/vscode/devcontainers/python:3.7",
+ "features": {
+ }
+}
diff --git a/LICENSE.md b/LICENSE.md
index 0017cc46..164c8c89 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2019, Ethan Chiu. All rights reserved.
+Copyright (c) 2022, Ethan Chiu. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
diff --git a/PythonBuddy/static/js/cm-validator-remote.js b/PythonBuddy/static/js/cm-validator-remote.js
index c1c1b680..f491774e 100644
--- a/PythonBuddy/static/js/cm-validator-remote.js
+++ b/PythonBuddy/static/js/cm-validator-remote.js
@@ -17,7 +17,7 @@ CodeMirror.remoteValidator = function(cm, updateLinting, options) {
{
var error = error_list[i];
- // Null check to make sure eror message is not empty
+ // Null check to make sure error message is not empty
if (error.line_no != null && error.message != null && error.severity != null) {
var start_line = error.line_no;
diff --git a/README.md b/README.md
index 7f4149d3..8f9365d8 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,28 @@
# PythonBuddy 🖊️ 🐍
-[](https://travis-ci.org/ethanchewy/OnlinePythonLinterSyntaxChecker)
-[](http://paypal.me/Ethan302)
Online Python 3 Programming with Live Pylint Syntax Checking!
+

### Usage
+
+**GitHub Codespaces**
+
+The quickest way to use PythonBuddy is to launch your own GitHub Codespace!
+
+1) From the GitHub repo, click the green "Code" button and select "Codespaces".
+2) Create a new Codespace or select a previous one you've already created.
+3) Navigate to the new tab created for your Codespace.
+4) In terminal, run `bash ./setup.sh`
+5) Click "Open in Browser" in the bottom right corner after the setup is complete.
+ * The website may take a while to load or error at first while GitHub sets up the preview environment. In this case, reload the website.
+6) Remember to **stop your workspace** after you're done using it.
+
+**Local Use**
+
+Due to Codespace's monthly limits, it's recommended to run PythonBuddy locally if used often.
+
1) Fetch from repo:
```
git clone https://github.com/ethanchewy/PythonBuddy.git
@@ -27,7 +43,7 @@ Online Python 3 Programming with Live Pylint Syntax Checking!
```
python --version
```
- If you don't use Python Python 3.7.6, some Python libraries that PythonBuddy relies on **may not work**. Please refer to this documentation for figuring out how to create a specific version of Python via vitualenv via this StackOverflow [post](https://stackoverflow.com/a/39713544).
+ If you don't use Python Python 3.7.6, some Python libraries that PythonBuddy relies on **may not work**. Please refer to this documentation for figuring out how to create a specific version of Python via virtualenv via this StackOverflow [post](https://stackoverflow.com/a/39713544).
5) Pipe requirements to venv folder:
```
@@ -112,7 +128,7 @@ pytest --cov-report html --cov=PythonBuddy tests/
### FAQ:
Why did you make this?
-In 2014, I was a Community TA at MIT edX 6.00.1x course where I helped teach over 1000 students. The year after I started researching under Prof. Eni Mustafaraj. She had a data set from that course and we saw a high attrition rate of students within the first 2 weeks. After digging through the curriculumn and data, I realized that the students left because of difficulties setting up their Python environment and complex error messages that they couldn't solve when running their code (ex: some students had path issues).
+In 2014, I was a Community TA at MIT edX 6.00.1x course where I helped teach over 1000 students. The year after I started researching under Prof. Eni Mustafaraj. She had a data set from that course and we saw a high attrition rate of students within the first 2 weeks. After digging through the curriculum and data, I realized that the students left because of difficulties setting up their Python environment and complex error messages that they couldn't solve when running their code (ex: some students had path issues).
So, I created PythonBuddy to address this issue so that students wouldn't have to go through the frustrations of setting up a Python environment and running into seemingly "random" bugs. PythonBuddy allows users to jump right into Python programming with the support of live syntax checking & highlighting. Also, professors and teachers could easily set up a server and allow students to quickly test out their code with PythonBuddy online.
@@ -146,16 +162,3 @@ This was made by Ethan Chiu as a research project under the guidance of Wellesle
### Other:
As of October 2020, PythonBuddy.com will no longer be a demo server for this open-source project due to the increasing costs of hosting it for 80,000+ people monthly. Instead, this URL will redirect back to this GitHub repo.
-
-### How can I support PythonBuddy?
-If you enojyed using this open-source project, please consider donating whatever you can to these organizations that address problems I'm passionate about:
-- https://www.nami.org/Home
-- https://www.cradlestocrayons.org/
-- https://codenation.org/
-
-If you don't have the means to donate to the above, consider checking out some of these free action items and information:
-- https://blacklivesmatters.carrd.co/#petitions
-- https://news.berkeley.edu/story_jump/end-of-affirmative-action-at-uc-hurt-black-latinx-students-study-finds/
-- https://www.vote.org/
-- https://www.bentley.edu/news/confronting-anti-asian-racism-age-coronavirus
-- https://en.wikipedia.org/wiki/Bamboo_ceiling
diff --git a/requirements.txt b/requirements.txt
index a85dac76..47a4ae7a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,13 +1,13 @@
astroid==2.4.2
click==7.1.2
dnspython==1.16.0
-eventlet==0.29.1
+eventlet==0.31.0
Flask==1.1.2
Flask-SocketIO==4.3.1
greenlet==0.4.17
isort==5.6.4
itsdangerous==1.1.0
-Jinja2==2.11.2
+Jinja2==2.11.3
lazy-object-proxy==1.4.3
MarkupSafe==1.1.1
mccabe==0.6.1
diff --git a/setup.sh b/setup.sh
new file mode 100644
index 00000000..1a98ed3b
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+FLASK_APP=app.py
+
+pip install -r requirements.txt
+
+cd PythonBuddy
+flask run
\ No newline at end of file