RateMyProfessors.help
The RateMyProfessor helper to help find the best professors for your courses
Finds the best teacher for your courses using RateMyProfessors.com to rank the best teacher for your specified course.
development dependencies
OS dependencies
openbsd
pkg_add python3
# needs the ports tree to compile binaries
cd /usr/ports/devel/py-pip/
make install clean
cd /usr/ports/lang/go/
make install clean
ubuntu
ubuntu's golang package is outdated, follow the golang doc instructions
sudo apt-get install python3 python3-pip
go dependencies
go get github.com/julienschmidt/httprouter
python dependencies
pip install "requests==2.25.1" beautifulsoup4 RateMyProfessorAPI psycopg2 python-dotenv
deployment
linux (docker)
- install docker
- setup docker-compose.yml "./examples/docker-compose.yml"
- docker-compose up -d
openbsd
# need the ports tree to install
cd /usr/ports/lang/go/
make install clean
git clone <repository>
cd <repository>
go build
./webserver
for setting up tls with httpd, relayd, and acme-client view ./examples
security practices
create a service user and service group with own dir in /var (_rmp
)
have rc.d service run as service user
for ssl support, create ssl-cert group chown keys/certs add service user to group
for postgresql, follow pkg-readme for best practice
SEE ALSO
httpd(8), httpd.conf(5), acme-client(1), relayd(8), relayd.conf(5)
resources
development workflow
- create issue for problem working on
- create branch based off issue(s)
- create pull request, code review if necessary
technology stack
frontend : [ html, css , javascript ]
backend : go lang
webscraping : python
reverse proxy : relayd
tls : [ acme-client , httpd ]
ci/cd: jenkins
test commit