-
Notifications
You must be signed in to change notification settings - Fork 4
CMPS 115 Initial Release #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
SeijiEmery
wants to merge
469
commits into
release
Choose a base branch
from
development
base: release
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
469 commits
Select commit
Hold shift + click to select a range
19524b9
Merge branch 'development' of https://github.com/SeijiEmery/CourseGra…
xuyanwen2012 91c8a01
hacking on fields; may need to rewrite this
SeijiEmery a7d4bd0
parsed most fields (some bugs)
SeijiEmery 621f683
fixed issues
SeijiEmery 7ca3b59
basic graph(node view)
Kuahoo 7b4dce9
fixed some spacing
Kuahoo 643665e
added the color function to nodes
Kuahoo 54b8ef8
changed var to let
Kuahoo 1ba1086
Remove outdated api and data
xuyanwen2012 8e6bfc4
Fix Fetching Bug
xuyanwen2012 8951254
cleaned up code
SeijiEmery 591ebe2
added course list (temp text dump)
SeijiEmery e50a278
Adding login page
xuyanwen2012 abe12e9
Adding proper List view
xuyanwen2012 69993f0
made changes
SeijiEmery a6d40ca
Cleanup old pages, components, refactoring code
xuyanwen2012 4712f3f
Upgrade client to https
xuyanwen2012 96ad40f
moved data model (temp) into separate file
SeijiEmery a00b278
Fake data generator
xuyanwen2012 c28a6a8
refactoring; setup structure to finish crawler with TDD
SeijiEmery cc3ae46
built out utils to enable saner child element searching
SeijiEmery fd84c9a
implemented childRange as a full bidirectional, random-access range
SeijiEmery b142662
demo-ed code to make sure the section selections work
SeijiEmery 61e773d
wrote simple expect() library and refactored unittests
SeijiEmery 78ccc06
PopMenu
wendyrliang 93c4936
fixed + collected all contact info
SeijiEmery 75b6c1f
finished parsing faculty info from the ucsc registrar
SeijiEmery 364b083
started parsing courses
SeijiEmery b709af2
Database Query from Browser
xuyanwen2012 1c7c9ee
Add LRUCache
xuyanwen2012 51c163a
struggled with this last bit for ~ 20 minutes until I realized I'd ma…
SeijiEmery 7460a82
Update Material UI with official demo
xuyanwen2012 c062598
Update styled-jsx
xuyanwen2012 55091a8
Fix api routing
xuyanwen2012 1594f60
fixing edge cases...
SeijiEmery 1730ce9
cleanup + bugfixes
SeijiEmery e66e43f
fixed ElementRange impl
SeijiEmery e256b4b
added jsonizer for output
SeijiEmery 3a5d81f
started writing thorough unittests for parser code
SeijiEmery 912b8c6
added text dumps for testing
SeijiEmery 404fab0
added unittests
SeijiEmery b6fc4be
Implementing Instant Search API
xuyanwen2012 c94d3f7
Refactor files, Write documents
xuyanwen2012 dfed76a
Adding Highlight
xuyanwen2012 21b7d66
Merge pull request #32 from coursegraph/feature-instant-search
xuyanwen2012 516b4ef
came up with thorough list of regex replacement rules (for raw text d…
SeijiEmery a55b1cd
Integrating actual data
xuyanwen2012 ff047d0
Adding Stylesheet for Search Page
xuyanwen2012 e45d329
renamed file; added fixSentences function
SeijiEmery 7fbc85c
Fixed it up
ThePatrickLauderdale c3354a6
Initial setup
xuyanwen2012 36527c7
Adding costume config
xuyanwen2012 786f981
Initial set up
xuyanwen2012 0425fc3
PopMenu
wendyrliang 6c4bd12
Start Integrate VIS and InstantSearch
xuyanwen2012 a82c0a4
Change API to serve data from database
xuyanwen2012 af7afb3
new schema
ThePatrickLauderdale e0458ab
made progress
SeijiEmery aa28d84
wrote a bunch of validator stuff for course names... then threw it ou…
SeijiEmery 4c8e4e3
building out parse cases. not parsing semantically, just to see which…
SeijiEmery ad63197
adding cases
SeijiEmery 509c6a8
added more cases. not done, but I think I'll stop here...
SeijiEmery 828ac89
wrote nifty algorithm for transforming shitty input (ie. "CHEM 1A/B/C…
SeijiEmery 8be5b47
finished basic output
SeijiEmery 395c1dd
added pretty formatting
SeijiEmery 19d66af
fixed parallelism (so it now actually works -_-)
SeijiEmery 1f896db
added a nice-ish commandline interface
SeijiEmery 7a4ae10
added preliminary impl for ucsc registrar...
SeijiEmery 9fb0518
wrote a quick script to transform data into a vis.js format
SeijiEmery dc4a287
setup demo page
SeijiEmery 272956b
fleshed out arguments
SeijiEmery 9563cf5
renamed file
SeijiEmery f26b4ff
fixed departments (ie. should alias)
SeijiEmery 21e5c0b
fixed edge order
SeijiEmery a342e53
Playing around with UCSD Graph
xuyanwen2012 6f28c39
Fix instantsearch npm denpendency bug
xuyanwen2012 8434e06
Merge pull request #31 from coursegraph/fuzzysearch
SeijiEmery a06ecac
Merge pull request #33 from coursegraph/graph-viz-prototype
SeijiEmery 4e7702f
Merge pull request #34 from coursegraph/feature-d3-graph
SeijiEmery 48593b8
some refactoring
ThePatrickLauderdale 5945c0d
Merge pull request #37 from coursegraph/crawlers
SeijiEmery 4633394
updated graph
SeijiEmery ad1fc69
PopMenu: draggable, Popups: tags
wendyrliang fff89d3
updated to include title, etc
SeijiEmery 5460fe7
removed graph
SeijiEmery 8626c54
Merge branch 'development' into feature-vis-graph
SeijiEmery 0a76d6c
Merge pull request #35 from coursegraph/feature-vis-graph
SeijiEmery 873b62a
Merge branch 'development' into searchbar
SeijiEmery e389165
PopMenu
wendyrliang 99adf3b
Merge pull request #38 from coursegraph/searchbar
SeijiEmery c2d16a6
Merge remote-tracking branch 'crawlers/master' into pull-crawlers
SeijiEmery 50f64d9
Merge pull request #39 from coursegraph/pull-crawlers
SeijiEmery 145bd82
Merge branch 'development' into sprint3
SeijiEmery f0bb2ca
Clean up code
xuyanwen2012 91ce1dc
Merge branch 'sprint3' of https://github.com/SeijiEmery/CourseGraph i…
xuyanwen2012 1a6387c
re-added files
SeijiEmery bb469f9
Merge pull request #40 from coursegraph/pull-crawlers
SeijiEmery 9f7ae81
Merge branch 'development' into sprint3
SeijiEmery 4f16779
cleanup
SeijiEmery f6a6989
moved graph into separate component
SeijiEmery 7b578e3
moved graph view into separate component
SeijiEmery ab369aa
separated GraphViewApp into GraphViewLoader and GraphViewAssembly
SeijiEmery e80b8ac
fixed => export default
SeijiEmery a2cd81d
refactored window content out of Popup
SeijiEmery 42c3890
refactored out course details window
SeijiEmery 0d3abe2
started scaffolding search bar; giving up on popmenu (for now...)
SeijiEmery 190fa81
got basic fuzzy search working
SeijiEmery 64125cf
started running w/ full dataset; fixed initial performance issue quit…
SeijiEmery 0b3e7d1
implemented levenshtein (doesn't really work that well tho)
SeijiEmery f31df92
[Eslint] Clean up code
xuyanwen2012 37fcdf1
Added drawer
ThePatrickLauderdale da06bdb
refactored crawler
SeijiEmery 498585b
updated output to include all data
SeijiEmery 6bd508a
Tooltip component
wendyrliang f23c218
Tooltip
wendyrliang ca29e8d
Starting login page
xuyanwen2012 00568bf
setup UCSD API
xuyanwen2012 28e8249
Merge branch 'sprint3' of https://github.com/SeijiEmery/CourseGraph i…
xuyanwen2012 fa21906
Cleanup code
xuyanwen2012 7f4b17e
Tooltip
wendyrliang 83e9f74
Tooltip/popup
wendyrliang 22ab265
scrolling, dummy graph filter
ThePatrickLauderdale f4ffe53
added graph filter alogrithmn
ThePatrickLauderdale e97de45
filter function
Kuahoo 4e15250
prototype graph filter
Kuahoo e768829
Graph can be filtered
ThePatrickLauderdale e4837db
Multiple classes can be selected
ThePatrickLauderdale bea7cf6
removed duplicate filteralgroithm
Kuahoo f365c37
Can deselect courses
ThePatrickLauderdale f6c1b1b
commented out consoles logs
ThePatrickLauderdale 35203a0
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
Kuahoo af5bc51
changed ListItemText values
Kuahoo 25ad42a
styled selected listItem
Kuahoo c63030a
Eslint fix
xuyanwen2012 d53ade2
Remove Redux and Doc gen
xuyanwen2012 fda2961
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
Kuahoo ea55974
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
Kuahoo e5b56fa
expanded filterGraph algorithmn
ThePatrickLauderdale 9584e08
Chips instead of an ugly list
ThePatrickLauderdale acbd22b
Adding Floating Action Button component
xuyanwen2012 b5789d6
Merge branch 'sprint3' of https://github.com/SeijiEmery/CourseGraph i…
xuyanwen2012 9dc526e
Merge branch 'sprint3' of https://github.com/SeijiEmery/CourseGraph i…
xuyanwen2012 f30334b
refactored colors (deselect broken)
SeijiEmery ca577f7
fixed node deselection; cleanup
SeijiEmery aae48c1
resolved merge conflict
SeijiEmery 0217ce3
graph_view double click
wendyrliang 053be43
Refactored graph_view_assembly
ThePatrickLauderdale 612a398
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
ThePatrickLauderdale 10da594
Count UCSD department Objects
xuyanwen2012 779efbd
minor refactor filterAlgorithm
ThePatrickLauderdale aa6cf23
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
ThePatrickLauderdale f657ea8
Account pages, setting up login pages
xuyanwen2012 9d9d9c6
Login POST request done
xuyanwen2012 856e680
Added GraphSelection class (untested, probably incomplete)
ThePatrickLauderdale 610f9b2
Home Page
xuyanwen2012 964c000
Merge branch 'sprint3' of https://github.com/SeijiEmery/CourseGraph i…
xuyanwen2012 fc56a79
wrote function to grab registrar index urls
SeijiEmery a96514d
GraphSelection class updated (still buggy)
ThePatrickLauderdale 7c15299
Merge branch 'sprint3' of https://github.com/coursegraph/CourseGraph …
ThePatrickLauderdale 75225da
wrote course page fetcher
SeijiEmery 7aa7003
started ucsc course parser
SeijiEmery 82fd99e
started parsing course descrips
SeijiEmery 040f929
rewrote fetch_course_pages to handle whitespace (and unicode) correctly
SeijiEmery 4ba8118
cleanup; fully switched to python3 (was supporting python2 for idk wh…
SeijiEmery 9cd4a93
cleaned up output
SeijiEmery 556f836
started parsing ucsc courses
SeijiEmery 56aec63
parsing course listings...
SeijiEmery 0df6931
fixed annoying edge cases
SeijiEmery 4cc1aab
more stupid edge cases
SeijiEmery aaaf573
blame the f***ing history dept (and film). acronyms !#$*^#*&!
SeijiEmery 5836057
filtering out <p align="..."> tags failed for some reason for biochem…
SeijiEmery 86251d6
finished edge cases...?!
SeijiEmery 0d02cf4
parsed instructors
SeijiEmery 3fdb46e
Code Cleanup
xuyanwen2012 531989d
added info log of courses by dept / div
SeijiEmery b0a8c79
working on proper prereq parser
SeijiEmery 0556759
added hoverNode event
wendyrliang 9db12d6
fixed index parsing (only was fetching half of all course listings...)
SeijiEmery 70926b6
fixed history edge cases
SeijiEmery 3fc4677
fixed weird edge case where the lit page has nested divs...
SeijiEmery 8e14826
fixed edgecases
SeijiEmery d2c782a
used a terrible hack to fix output from the sociology page (first cou…
SeijiEmery d21121c
crappy solution to SPECIFICALLY fix a line break inside of a strong t…
SeijiEmery 098a868
fixed it again b/c someone on the anthropology page fucked up and put…
SeijiEmery ee9110d
updated to skip comments (was not aware that this WASN'T skipping com…
SeijiEmery 024e6e3
User can now register account
xuyanwen2012 fa2d512
Introducing Home Page that can navigate us to UCSD page or UCSD page
xuyanwen2012 8bb2e16
Extract Home page panel components
xuyanwen2012 31c6b1f
added a ton of parse cases to filter out unneeded tokens
SeijiEmery fee8868
fixed graph view (was iterating over values, not keys. please read up…
SeijiEmery 176b44c
Switch to simple login system
xuyanwen2012 e0822c0
Rearrange files
xuyanwen2012 ef6b203
Implement server-side fetch
xuyanwen2012 6fa218b
Remove console Warning
xuyanwen2012 a4b43f5
Minimal Refactoring
xuyanwen2012 b31b88b
Continue refactoring + Serve UCSD graph data
xuyanwen2012 12a0011
Update Favicon
xuyanwen2012 ffa6b5e
Change API URL to or actuall server
xuyanwen2012 cd1d1f3
Fix Floating button bug, add true Fullpage graph view
xuyanwen2012 ce967f5
Graph Color by department
xuyanwen2012 e889db0
Refactoring Code style
xuyanwen2012 9e4018a
Refactoring Code Style
xuyanwen2012 696138c
Graph Info Card
xuyanwen2012 0c35cae
Update fetch
xuyanwen2012 d23de23
Merge pull request #42 from coursegraph/feture-SSR-fetch
xuyanwen2012 c952b2c
update README.md
Kuahoo b8aabbc
Optimization ssr-caching and Production CORS setting
xuyanwen2012 f5443da
Fix Bug, do not cache Graph page
xuyanwen2012 3ebf0da
Merge branch 'development' into ucsc-data
SeijiEmery 3c1a163
Merge branch 'development' into sprint3
SeijiEmery 8af0a1a
Merge remote-tracking branch 'origin/sprint3' into sprint3
SeijiEmery 98bc764
removed data files
SeijiEmery e3eb1a2
refactored crawler
SeijiEmery 162aa84
updated output to include all data
SeijiEmery dd35abd
Merge branch 'firebase' of https://github.com/coursegraph/CourseGraph…
SeijiEmery d057980
added gitignore for data outputs
SeijiEmery 61580b6
wrote function to grab registrar index urls
SeijiEmery 25ae2b5
wrote course page fetcher
SeijiEmery 7128461
started ucsc course parser
SeijiEmery 457769f
started parsing course descrips
SeijiEmery 85480cf
rewrote fetch_course_pages to handle whitespace (and unicode) correctly
SeijiEmery df8a0ed
cleanup; fully switched to python3 (was supporting python2 for idk wh…
SeijiEmery 12a8729
cleaned up output
SeijiEmery 9c8761b
started parsing ucsc courses
SeijiEmery 05d4e6e
parsing course listings...
SeijiEmery e5eb758
fixed annoying edge cases
SeijiEmery 18305e9
more stupid edge cases
SeijiEmery 3fddd5f
blame the f***ing history dept (and film). acronyms !#$*^#*&!
SeijiEmery 8feefa5
filtering out <p align="..."> tags failed for some reason for biochem…
SeijiEmery 084f610
finished edge cases...?!
SeijiEmery f72256a
parsed instructors
SeijiEmery 0d4933a
added info log of courses by dept / div
SeijiEmery dd58b5d
working on proper prereq parser
SeijiEmery 24f97ef
fixed index parsing (only was fetching half of all course listings...)
SeijiEmery 97efea0
fixed history edge cases
SeijiEmery 42aca19
fixed weird edge case where the lit page has nested divs...
SeijiEmery 6467bd2
fixed edgecases
SeijiEmery a20f044
used a terrible hack to fix output from the sociology page (first cou…
SeijiEmery 24c76b4
crappy solution to SPECIFICALLY fix a line break inside of a strong t…
SeijiEmery 82435c4
fixed it again b/c someone on the anthropology page fucked up and put…
SeijiEmery d633682
updated to skip comments (was not aware that this WASN'T skipping com…
SeijiEmery 0a4659e
added a ton of parse cases to filter out unneeded tokens
SeijiEmery 0964fca
Merge branch 'ucsc-data' of https://github.com/coursegraph/CourseGrap…
SeijiEmery 4fdae30
merged minor changes / refactoring done in firebase branch w/ ucsc-da…
SeijiEmery 5af2901
removed data file
SeijiEmery f89788e
Merge pull request #44 from coursegraph/ucsc-data
SeijiEmery 5d98036
Merge pull request #45 from coursegraph/sprint3
SeijiEmery 044545d
Merge pull request #46 from coursegraph/development
SeijiEmery 0c14177
made search bar draggable
SeijiEmery 9f05cd9
Merge remote-tracking branch 'origin/master' into development
SeijiEmery File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"env": { | ||
"development": { | ||
"presets": ["next/babel"] | ||
}, | ||
"production": { | ||
"presets": ["next/babel"] | ||
}, | ||
"test": { | ||
"presets": [["next/babel", {"preset-env": {"modules": "commonjs"}}]] | ||
} | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
node_modules/ | ||
.next/ | ||
.idea/ | ||
coverage/ | ||
static/ | ||
spider/ | ||
data/ | ||
assets/ | ||
crawlers/ | ||
docs/ | ||
*.json | ||
*.md | ||
LICENSE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
{ | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:react/recommended", | ||
"fbjs" | ||
], | ||
"env": { | ||
"browser": true, | ||
"commonjs": true, | ||
"node": true, | ||
"es6": true | ||
}, | ||
"parserOptions": { | ||
"ecmaVersion": 8, | ||
"sourceType": "module" | ||
}, | ||
"parser": "babel-eslint", | ||
"rules": { | ||
"no-console": "off", | ||
"strict": [ | ||
"error", | ||
"global" | ||
], | ||
"curly": "warn" | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,61 +1,32 @@ | ||
# Logs | ||
logs | ||
*.log | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
|
||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
*.pid.lock | ||
|
||
# Directory for instrumented libs generated by jscoverage/JSCover | ||
lib-cov | ||
|
||
# Coverage directory used by tools like istanbul | ||
coverage | ||
|
||
# nyc test coverage | ||
.nyc_output | ||
|
||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||
.grunt | ||
|
||
# Bower dependency directory (https://bower.io/) | ||
bower_components | ||
# See https://help.github.com/ignore-files/ for more about ignoring files. | ||
|
||
# node-waf configuration | ||
.lock-wscript | ||
# dependencies | ||
/node_modules/ | ||
|
||
# Compiled binary addons (https://nodejs.org/api/addons.html) | ||
build/Release | ||
# testing | ||
/coverage/ | ||
|
||
# Dependency directories | ||
node_modules/ | ||
jspm_packages/ | ||
# production | ||
/build/ | ||
/dist/ | ||
/.next/ | ||
|
||
# TypeScript v1 declaration files | ||
typings/ | ||
|
||
# Optional npm cache directory | ||
.npm | ||
|
||
# Optional eslint cache | ||
.eslintcache | ||
|
||
# Optional REPL history | ||
.node_repl_history | ||
|
||
# Output of 'npm pack' | ||
*.tgz | ||
# misc | ||
.DS_Store | ||
.env | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
|
||
# Yarn Integrity file | ||
.yarn-integrity | ||
/.idea/ | ||
package-lock.json | ||
|
||
# dotenv environment variables file | ||
.env | ||
*.pyc | ||
/.coveralls.yml | ||
|
||
# next.js build output | ||
.next | ||
/crawlers/ucsc/data/* | ||
/crawlers/ucsc/prereqs | ||
/crawlers/ucsc/unparsed | ||
crawlers/ucsc/temp | ||
crawlers/ucsd/ucsd_courses.json | ||
crawlers/ucsd/ucsd_graph_data.json |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
language: node_js | ||
node_js: | ||
- "8" | ||
- "9" | ||
- "10" | ||
install: | ||
- npm install | ||
script: | ||
- npm run pretest | ||
- npm run test:ci |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2018 Course Graph | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,152 @@ | ||
# CourseGraph | ||
<p align="center"> | ||
|
||
 | ||
|
||
[](https://travis-ci.org/coursegraph/CourseGraph) | ||
[](https://coveralls.io/github/coursegraph/CourseGraph) | ||
[](https://github.com/facebook/jest) | ||
[](https://github.com/facebook/jest) | ||
[](https://github.com/coursegraph/CourseGraph/blob/master/LICENSE.md) | ||
|
||
</p> | ||
|
||
## Introduction | ||
|
||
The course search software offered by UCSC (and most colleges) kind of sucks, and there is no easy way to explore classes and majors without a counselor – and the counselors could probably use some help too! | ||
|
||
Solution? CourseGraph, a webapp that will: | ||
|
||
+ datamine pisa and the registrar for course information and sections (and major / minor requirements if we can do that) | ||
+ display this information visually as a web of interdependent courses and major requirements, filterable and presented through different layers and views | ||
|
||
Technology: we will need | ||
|
||
+ a web frontend (probably React, vis.js, material-ui) and people interested in UX and software design (myself included) | ||
+ a web backend (probably node, mongoDB) and people interested in backend development and data storage / retrieval | ||
+ several web crawlers to datamine UCSC sites and maybe others; anyone interested in this please apply! | ||
+ possible integration of other web services (if we could embed eg. ratemyprofessors that would be awesome) | ||
|
||
Is this feasible in <5 weeks? | ||
|
||
+ Yes, but it will be challenging as we'll have a lot of work to do | ||
+ Plus side is we all get to wear lots of hats and use a lot of cool tech to build a real tool that students and counselors can use to explore class options and make planning schedules a lot easier | ||
+ This project can be subdivided with 2-3 teams working in parallel on different components (eg. frontend and data mining), so we should be able to work without too many bottlenecks | ||
|
||
You do NOT need to have experience with react, node, or Vis to join this project, just a good attitude and a willingness to learn and contribute. | ||
|
||
That said, you will need time to learn a bit of typescript and either frontend (react, vis.js), backend (node, databases – ask Ivan), or data mining (web crawlers, either node or python), since we'll probably be splitting into sub-teams that focus on one of those categories. And you'll need to do this fairly quickly (ie. over the next few weeks) since we'll need to hit the ground running as soon as possible. Oh, and if you'd like to do project management (as one of your many hats) that would be very useful too. | ||
|
||
I'll be learning react and vis.js over the next week or so, so if you're interested in that (whether you're a part of this team or not) please hit me up! (ssemery@ucsc.edu) | ||
|
||
## Getting Started | ||
|
||
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. (To developers) See deployment for notes on how to deploy the project on a live system. | ||
|
||
### Prerequisites | ||
|
||
[Node.js](https://nodejs.org/en/) - JavaScript runtime built on Chrome's V8 JavaScript engine. | ||
[mongoDB] (https://docs.mongodb.com/manual/installation/) - MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling. | ||
|
||
The minimum supported Node version is `v6.0.0` by default. (We are using `v10.0.0`). | ||
|
||
``` | ||
node --version | ||
|
||
// v10.0.0 | ||
``` | ||
|
||
### Installing | ||
|
||
Clone our repository (or unzip the project and cd into the root folder), | ||
|
||
``` | ||
git clone https://github.com/coursegraph/CourseGraph myProject | ||
cd myProject | ||
``` | ||
|
||
And install dependencies, via [`npm`](https://www.npmjs.com/) (installed with Node.js). | ||
|
||
``` | ||
npm install | ||
``` | ||
|
||
### Running the project | ||
|
||
Running the project is as simple as running | ||
|
||
``` | ||
npm run dev | ||
``` | ||
|
||
This runs the `dev` script specified in our `package.json`, and will spawn off a server which reloads the page as we save our files. Typically the server runs at `http://localhost:3000`, but should be automatically opened for you. | ||
|
||
## Running the tests | ||
|
||
Testing is also just a command away: | ||
|
||
``` | ||
npm run test | ||
``` | ||
|
||
This command runs [`jest`](http://jestjs.io/) and [`enzyme`](http://airbnb.io/enzyme/), an incredibly useful testing utility. | ||
|
||
## Built With | ||
|
||
* [Next.js](https://nextjs.org/) - A lightweight framework for static and server‑rendered applications. | ||
* [React](https://reactjs.org) - A JavaScript library for building user interfaces | ||
* [Node.js](https://nodejs.org/en/) - A JavaScript runtime built on Chrome's V8 JavaScript engine. | ||
* [MongoDB](https://www.mongodb.com/) - Build innovative modern applications that create a competitive advantage. | ||
|
||
## Dependencies | ||
* [Material-ui/core] | ||
* [material-ui/icons] | ||
* [algoliasearch] | ||
* [bcrypt-nodejs] | ||
* [body-parser] | ||
* [compression] | ||
* [connect-mongo' | ||
* [crypto] | ||
* [express] | ||
* [express-flash] | ||
* [express-session] | ||
* [express-validator] | ||
* [isomorphic-unfetch] | ||
* [jss] | ||
* [lru-cache] | ||
* [mongoose] | ||
* [next] | ||
* [npgrogress] | ||
* [passport] | ||
* [passport-local] | ||
* [prop-types] | ||
* [qs] | ||
* [react] | ||
* [react-dom] | ||
* [react-draggable] | ||
* [react-graph-vis] | ||
* [react-instantsearc] | ||
* [react-jss] | ||
* [reactjs-popup] | ||
* [styled-jsx] | ||
|
||
|
||
## Authors | ||
|
||
* **Seiji Emery** ([SeijiEmery](https://github.com/SeijiEmery) ) - Lead Tech Developer | ||
* **Yanwen Xu** ([RaiderSoap](https://github.com/RaiderSoap) ) - :floppy_disk: Back-End Developer | ||
* **Patrick Lauderdale** ([ThePatrickLauderdale](https://github.com/ThePatrickLauderdale)) - FrontEnd Developer | ||
* **Wendy Liang** ([wendyrliang](https://github.com/wendyrliang) ) - FrontEnd Developer | ||
* **Ka Ho Tran** ([Kutaho](https://github.com/Kutaho) ) - FrontEnd Developer | ||
* **Nikki Miller** ([NikMills](https;//github.com/nikmills)) - FrontEnd Developer | ||
|
||
See also the list of [contributors](https://github.com/coursegraph/CourseGraph/settings/collaboration) who participated in this project. | ||
|
||
## License | ||
|
||
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details | ||
|
||
## Acknowledgments | ||
|
||
Big thanks to Richard Jullig. | ||
|
||
:kissing_heart: |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import React from 'react'; | ||
import PropTypes from 'prop-types'; | ||
|
||
/** | ||
* @inheritDoc | ||
*/ | ||
class Course extends React.Component { | ||
static propTypes = { | ||
title: PropTypes.string.isRequired, | ||
}; | ||
|
||
static defaultProps = { | ||
title: 'Null', | ||
}; | ||
|
||
/** | ||
* @return {Element} | ||
*/ | ||
render() { | ||
return ( | ||
<div className="Course"> | ||
<h3> | ||
{this.props.title} | ||
</h3> | ||
</div> | ||
); | ||
} | ||
} | ||
|
||
export default Course; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import React from 'react'; | ||
import { shallow } from 'enzyme'; | ||
|
||
import Course from './Course'; | ||
|
||
|
||
describe('A Course', () => { | ||
it('should render default text without throwing an error', () => { | ||
const wrapper = shallow(<Course/>); | ||
expect(wrapper.find('h3').text()).toEqual('Null'); | ||
}); | ||
|
||
it('should render title props without throwing an error', () => { | ||
const wrapper = shallow(<Course title="CMPS 101"/>); | ||
expect(wrapper.find('h3').text()).toEqual('CMPS 101'); | ||
}); | ||
}); |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readme needs to be updated