Every Sunday, I look for upcoming events in Boston I'd like to attend using www.thebostoncalendar.com. This is not only a time-consuming task, but also a tedious one: I have to wade through dozens of events which do not interest me to find the few that do. The objective of this project is to automate getting the signal from the noise.
You can now view this project live here.
- Clone the repo:
git clone github.com/alexpetralia/boston_events_advisor
- Create a virtual environment:
python3 -m venv .venv
- Activate the virtual environment:
source .venv/bin/activate
- Install the required packages:
pip install -r requirements.txt
- Start the redis server:
sudo redis-server
- Start the celerybeat and uWSGI processes in tmux sessions:
tmux new -s <session>
,tmux attach -t <target>
- Start the celerybeat worker:
celery -A celeryd worker -l info -B
- Start the uWSGI server to run Flask:
uwsgi --socket 0.0.0.0:8001 --protocol=http --module app --callable app
oruwsgi --socket /tmp/uwsgi_boston_events.sock --module app --callable app --processes 4 --threads 2
- If using Unix sockets and not HTTP, link your system nginx folder to the repo's nginx.conf:
sudo ln -s overhead/nginx_boston_events.conf /etc/nginx/sites-enabled
- Start/restart nginx:
sudo service nginx start/reload
- reduce feature space (suffering from curse of dimensionality)