Night Out is an easy way to create a plan with friends around an event. Users input their pre-planned event into the application which generates listings of bars or restaurants. The listings can be sorted by distance, price or Yelp rating to simplify the choosing process. When the plan is created, users can add their friends, regardless if they are users, to the plan so that everyone is on the same page. Participants get an email with the full itinerary listing the time and place to meet. Users of the app have all their plans in one convenient place on their profile page along with analytics on how often they are attending plans.
Python, Flask, PostgreSQL, SQLAlchemy, JavaScript, Chart.js, jQuery, AJAX, Jinja2, Bootstrap, HTML5, CSS3 APIs: Yelp, SendGrid, Google Maps
Rest assured, passwords are hashed in the back-end. If you have been invited to plans by existing users, those plans will get automatically pre-populated into your profile page.
All your upcoming and past plans are housed here, sorted in reverse calendar order so you can what's coming soonest. Feel free to edit plans, choose a different restaurant or add more friends for plans that you have created. If you would no longer like to attend an event, decline plan. If the entire plan is cancelled, delete the plan and the plan will be removed off all users' profiles.
Chart JS created with user's data to outline user's scheduled events per month.
Enter details of pre-planned event - concert, movie showing, author talk, or whatever else you're attending. Google Maps API autofill makes it easier by helping to fill in address based on location's event name.
Choose whether to meet at a restaurant or bar, how far away you're willing to look and how long before the event you'd like to meet. Customizations are sent to the Yelp API and returns up to 50 different business locations. When business results come back, sort on price, distance or Yelp rating to choose the best place to meet. Businesses you have visited before are highlighted for easy re-selection.
Friends will get an email itinerary of the night's agenda! If a friend's email is signed up as a user, the plan will get populated in their profile.
Run Night Out on your machine:
Install PostgreSQL
Clone or fork this repo:
https://github.com/leahyukelson/Night-Out
Create and activate a virtual environment inside your Night Out directory:
virtualenv env
source env/bin/activate
Install the dependencies:
pip install -r requirements.txt
Sign up with SendGrid API
Save your API key in a file called secrets.sh using this format:
export SENDGRID_API_KEY="YOURKEYHERE"
Source your keys from your secrets.sh file into your virtual environment:
source secrets.sh
Set up the database:
createdb eventplans
Run this python script to set up the data model:
python model.py
Run the app:
python server.py
You can now navigate to localhost:5000/ to start Night Out.
My name is Leah Yukelson and I am located in San Francisco, CA. This project was created during my time at Hackbright, a full-stack development accelerated program. I studied business information systems at Cal Poly SLO with an emphasis in computer science. After graduation, I went to work at Macy's doing search marketing; managing multi-million dollar budgets and making strategic marketing choices. While being on the business-facing side of advertising, I became more interested in how the technology works. I loved the logic problem solving aspect of my computer science classes at Cal Poly and decided to dive back into programming by self studying Python and then attending Hackbright Academy. I am currently interested in combining my interest in ad technology with full-stack web development.
Find me on LinkedIn!