Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
3ed3d47
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 16, 2022
5fca92f
Create workflows
c-h-tang Sep 21, 2022
8d79b54
Delete workflows
c-h-tang Sep 21, 2022
2a69935
Create ithub-actions-demo.yml
c-h-tang Sep 21, 2022
c24db00
Rename ithub-actions-demo.yml to github-actions-demo.yml
c-h-tang Sep 21, 2022
a03a8e8
Create pylint
03aditiroy Sep 21, 2022
689c003
Delete workflows. directory
c-h-tang Sep 21, 2022
698ccbb
Create pytest.yml
erikly2 Sep 21, 2022
dbada3d
Rename pylint to pylint.yml
03aditiroy Sep 21, 2022
b9d27ba
Create pylint.yml
c-h-tang Sep 21, 2022
df0645c
Create pytest.yml
c-h-tang Sep 21, 2022
acd46aa
Delete github/workflows directory
c-h-tang Sep 21, 2022
54e0cb0
Create example.py
c-h-tang Sep 21, 2022
de09e96
Create example.py
c-h-tang Sep 21, 2022
196090e
Delete test. directory
c-h-tang Sep 21, 2022
41c2128
Create Main
erikly2 Sep 29, 2022
a9e1f37
Delete Main
erikly2 Sep 29, 2022
a96e5bb
Create initial
erikly2 Sep 29, 2022
e7607d2
Create main
erikly2 Sep 29, 2022
02f3062
added code to initial backend
erikly2 Sep 29, 2022
9285722
Create pylint.yml
c-h-tang Sep 30, 2022
634face
Create pytest.yml
c-h-tang Sep 30, 2022
b2ca533
Delete .github/workflows. directory
c-h-tang Sep 30, 2022
f27ff3f
Created initial frontend UI html and added file selector
c-h-tang Sep 30, 2022
f2ea4bc
Created successful parsing page and html file
c-h-tang Sep 30, 2022
eaebe37
Create README.md
c-h-tang Sep 30, 2022
3f721a5
Update README.md
c-h-tang Sep 30, 2022
56fb931
Update README.md
c-h-tang Sep 30, 2022
52ec83c
parsers for dates
erikly2 Sep 30, 2022
bfad3df
MergeList function
erikly2 Sep 30, 2022
c75d177
Created csv file to write to
erikly2 Oct 7, 2022
10d68b0
Merge pull request #2 from CS222-UIUC/backend-csv-branch
c-h-tang Oct 7, 2022
4f90fc6
Added CSV download and complete page
c-h-tang Oct 7, 2022
bee2e33
Merge pull request #3 from CS222-UIUC/frontend_work
erikly2 Oct 7, 2022
8003b84
Add files via upload
erikly2 Oct 8, 2022
070f25b
Delete input.csv
erikly2 Oct 8, 2022
7bf5455
Delete test.csv
erikly2 Oct 8, 2022
ccce2bc
Add files via upload
erikly2 Oct 8, 2022
8635fe4
Added pictures and modified HTML pages
c-h-tang Oct 9, 2022
95b817f
Merge pull request #4 from CS222-UIUC/frontend_work
c-h-tang Oct 9, 2022
172071f
Added testing files and converted main to .py
erikly2 Oct 14, 2022
91c181b
Deleted main to create into .py file
erikly2 Oct 14, 2022
3c54248
pushed the file into frontend
erikly2 Oct 21, 2022
7a0ebe6
Added ReadPDF() which outputs pdf file for parsing
c-h-tang Oct 21, 2022
9f4155b
App can store pdf files and push csv files to download
erikly2 Oct 21, 2022
66c3158
Merge branch 'main' into backend_file_push
erikly2 Oct 21, 2022
6a03a37
Merge pull request #5 from CS222-UIUC/backend_file_push
c-h-tang Oct 21, 2022
b02b6d6
removed unnessicary code
erikly2 Oct 21, 2022
837f08a
edited pathway
erikly2 Oct 21, 2022
f94e8ea
imported main into app
erikly2 Oct 21, 2022
bb645d3
Added navigation bar to frontend
c-h-tang Oct 23, 2022
7ec29d5
Test
c-h-tang Oct 23, 2022
373f463
Added directions to homepage frontend
c-h-tang Oct 23, 2022
0b6853a
Cleaned up UI and added alert messages and spinner during parsing
c-h-tang Oct 23, 2022
14b6c82
Modified image name
c-h-tang Oct 23, 2022
b81f40e
Added validation to ensure file is not empty
c-h-tang Oct 23, 2022
e020f41
Merge pull request #6 from CS222-UIUC/frontend
erikly2 Oct 24, 2022
4e9d905
added finding datesto file
erikly2 Oct 28, 2022
a19f72a
Test write to file
erikly2 Oct 28, 2022
6a84872
Parsed.txt is cleared before every entry
erikly2 Oct 28, 2022
2c11c2f
writes when midterm is used
erikly2 Oct 28, 2022
4778a78
Merge pull request #7 from CS222-UIUC/parsing
erikly2 Oct 28, 2022
8f72a58
Added logo to navigation bar
c-h-tang Oct 29, 2022
b6860ad
Added inline element and edited dropdown with groupmembers name
c-h-tang Oct 29, 2022
7c732e5
Made html pages for all groupmembers; added base template for templat…
c-h-tang Oct 29, 2022
a878395
Began implementing carousel for pictures
c-h-tang Oct 29, 2022
6eb01af
Got carousel working and added text to Chris ST page
c-h-tang Oct 29, 2022
8b7e312
Got custom photos to work on PI SC pages
c-h-tang Oct 29, 2022
e1df3f0
Added instruction/template for everyone else to do their SC page
c-h-tang Oct 29, 2022
0f3c4e1
Update README.md
c-h-tang Oct 29, 2022
c2a7541
Changed pic dimensions and web page logo
c-h-tang Oct 30, 2022
db92894
Merge pull request #8 from CS222-UIUC/UIChanges
erikly2 Nov 4, 2022
378b9f0
Changed picture dimensions
c-h-tang Nov 5, 2022
1e02390
Erik profile
erikly2 Nov 11, 2022
d28ea73
removed additional lists
erikly2 Nov 11, 2022
1cc763a
add info for the abena section of developer pages
salaast Nov 12, 2022
1b74e63
writes date and event
erikly2 Dec 2, 2022
084be43
Finds calendar
erikly2 Dec 2, 2022
d3d8bf3
Create Aditi
03aditiroy Dec 2, 2022
47826cb
Delete Aditi
03aditiroy Dec 2, 2022
2481995
Merge pull request #9 from CS222-UIUC/abena-info
salaast Dec 2, 2022
d071876
Add files via upload
03aditiroy Dec 3, 2022
bf2a08a
add 3 photos for abena profile
salaast Dec 3, 2022
8046294
Merge pull request #10 from CS222-UIUC/abena-info
salaast Dec 3, 2022
d5ccc95
Update aditi.html
03aditiroy Dec 3, 2022
dbfadfa
format of result changed
erikly2 Dec 3, 2022
1571cb4
syntax error on result fixed
erikly2 Dec 3, 2022
869071b
removed commented code
erikly2 Dec 3, 2022
ccccf20
Merge pull request #11 from CS222-UIUC/backend-info
erikly2 Dec 3, 2022
d12c776
add filenames to abena profile page
salaast Dec 3, 2022
5bab8f2
Merge pull request #12 from CS222-UIUC/abena-info
salaast Dec 3, 2022
7345da5
HTML changes
c-h-tang Dec 3, 2022
95d3bf9
HTML changes
c-h-tang Dec 3, 2022
0ba4ac7
Update README.md
c-h-tang Dec 3, 2022
d7e1458
Update README.md
c-h-tang Dec 3, 2022
ed6eef1
Update README.md
c-h-tang Dec 3, 2022
dc65a73
Update README.md
c-h-tang Dec 7, 2022
157e0d4
Update README.md
c-h-tang Dec 7, 2022
bbe4e1d
Update README.md
c-h-tang Dec 7, 2022
ef9a0cb
Update README.md
c-h-tang Dec 7, 2022
1aef943
Update README.md
c-h-tang Dec 7, 2022
a209258
Update README.md
03aditiroy Dec 7, 2022
e229872
Update README.md
salaast Dec 7, 2022
3bd7c8c
Update README.md
c-h-tang Dec 7, 2022
e6b4a10
Update README.md
erikly2 Dec 7, 2022
39f4488
Update README.md
erikly2 Dec 7, 2022
e73316d
Update README.md
c-h-tang Dec 7, 2022
565ce75
Delete sample_syllabus.pdf
c-h-tang Dec 7, 2022
45f9f84
Add files via upload
erikly2 Dec 7, 2022
5737152
Update README.md
salaast Dec 7, 2022
01d78d6
Update README.md
c-h-tang Dec 7, 2022
9a4468a
Update README.md
c-h-tang Dec 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Pylint

on: [push]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint
- name: Analysing the code with pylint
run: |
find . -name '*.py' -exec pylint {} \;
15 changes: 15 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Test with pytest
run: |
pip install pytest
pip install pytest-cov
pytest tests.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
}
3 changes: 3 additions & 0 deletions Backend.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Metadata-Version: 2.1
Name: Backend
Version: 0.0.0
6 changes: 6 additions & 0 deletions Backend.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
README.md
setup.py
Backend.egg-info/PKG-INFO
Backend.egg-info/SOURCES.txt
Backend.egg-info/dependency_links.txt
Backend.egg-info/top_level.txt
1 change: 1 addition & 0 deletions Backend.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions Backend.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# SyllaBestie
#### UIUC CS222 Fall 2022
#### Created by: Chris Tang, Aditi Roy, Abena Laast, Eric Ly
course-project-group-14 created by GitHub Classroom

## Project Description
Every semester, students receive syllabi from every class with a multitude of information about grades, resources and dates. To help students manage their schedules, SyllaBestie goes through your syllabus and instantaneously outputs a calendar file with all the important dates to remember, which can be instantly imported into popular calendar platforms like Google Calendar and Apple Calendar. Our motivation for creating SyllaBestie was to streamline the process of finding important dates for classes. Many students (especially new freshman) struggle with keeping track of assignment dates for multiple classes throughout the semester. Furthermore, not all classes import due dates and assignments onto Canvas or Moodle, and nobody likes constantly sifting through the syllabus to check when assignments are due. With SyllaBestie, this process can be avoided because all due dates can be instantly transcribed into your digital calendar for increased visibility through your computer and phone!

## Architecture
The architecture for SyllaBestie consisted of the integration of a frontend, a backend, and a server.

### Frontend
The frontend consisted of Python, Flask, Jinja2, and Bootstrap. The frontend allowed the user to interact with the backend with a pleasing-to-the-eye web application. Using HTML, CSS, and Bootstrap, templates for webpages were created to display instructions, buttons, and an interface that the user could use to parse syllabi and call backend components. We used libraries for Flask and frontend forms/security for the rendering of webpages and ensuring the downloading of pdf files was consistent. The main webpages for the web app include: the homepage, the intermediate parsing page, the download csv page, and profile pages for the software developers. The frontend was completed by Chris.

### Backend
The backend consisted of Python and Flask. Flask was chosen over other libraries for its lightweight characteristic as well as its ability to operate as a simple and clean frontend. Once called by the frontend, the backend executes data/String mainpulation and parses a syllabus, which is passed as a pdf document, and then reads through it for dates as well as assignment/exam details.
Note: In order for parsing to successfully execute, the syllabus must follow a specific structure: DATE ASSIGNMENT NAME.
DATE is in MONTH/DAY form and ASSIGNMENT NAME can be anything. An example syllabus can be found in our repository. This structure was chosen because it was seen in multiple syllabi such as MA257. This process utilized many Python libraries, namely those for parsing documents and regular exressions like PyPDF2, re, and csv. Backend work was completed by the backend team: Erik, Aditi, and Abena.

### Server
The server is run on pythonanywhere.com, free web hosting server for Python and Flask applications. The server allowed our application to be run on the Internet as opposed to being run locally, which would involve installation of software, an IDE to run it, etc. Our server allowed us to integrate the frontend and backend on the Internet so that it could be easily used. Creating the server to run our web application did not necessitate using any libraries, as libraries were already imported in the frontend and backend components. The server was set up and configured by Chris.

## Installation Instructions
To run the application locally, clone the repository into an IDE (we used VSCode) and navigate to main/Frontend/app. Run the application and then click the link in the terminal called 'http://127.0.0.1:5000/' to open SyllaBestie locally.

To utilize the web application version of SyllaBestie, please navigate to: <a href="https://chtang.pythonanywhere.com" target="_blank">here</a>.

## Group Members and Roles
Chris Tang - Software Developer for Frontend and Server
Aditi Roy - Software Developer for Backend
Abena Laast - Software Developer for Backend
Erik Ly - Software Developer for Backend and Data Transfer
Binary file added dist/Backend-0.0.0-py3.10.egg
Binary file not shown.
Binary file added f22-math257-Syllabus.pdf
Binary file not shown.
Loading