Python Programming: Build Matchmaking Website + Geolocator
3.9 (108 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,819 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Python Programming: Build Matchmaking Website + Geolocator to your Wishlist.

Add to Wishlist

Python Programming: Build Matchmaking Website + Geolocator

Create a matchmaking site and a geolocator in Django/Python in this step-by-step tutorial by Coding for Entrepreneurs.
3.9 (108 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,819 students enrolled
Created by Justin Mitchel
Last updated 7/2015
English
English
Current price: $10 Original price: $195 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 20 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build a Compatibility Match Making Service
  • Build a Geolocator
  • Create a SaaS (Software as a Service)
  • Learn APIs from FourSquare
  • Google Maps API
View Curriculum
Requirements
  • Some Django Knowledge Advised
  • Finished the setup part of Coding for Entrepreneurs (or Basic)
  • Completion of MVP Landing/Try Django (Youtube)
Description

Updated: July 27, 2015

Build a Matchmaker (updated & expanded)

Computers are great for finding common interests between people. You will learn how to build your own website that matches people based off interests and questionnaires. We'll implement a subscription model (SaaS) on this one.

This is how billion dollar sites like Match and OkCupid were built...this one is adapting the same idea to a job site, it could be the start for your own recruiting empire.

Create a Geolocator (It's Happy Hour Time)

Build a web-based app to help find local restaurant happy hours for food/drinks. We will build a geo-locating service using Foursquare's API/Data and Google Maps.

Hint: you could use the landing page created in step 1 ascertain interest in an app like that this to test whether or not this in itself could be a business.

Who is the target audience?
  • Entrepreneurs
  • Django/Python Coders
  • Members of Coding for Entrepreneurs
Compare to Other Python Courses
Curriculum For This Course
131 Lectures
19:59:51
+
Getting Started with Coding for Entrepreneurs
1 Lecture 01:14

Join the premium Coding for Entrepreneurs course for a discount: http://bit.ly/1hArWFg

Start here only if you're new to Coding For Entrepreneurs
01:14
+
MatchMaker 2
71 Lectures 09:08:50




Clone Project from Github
09:45

Rename Django Project
06:36

Matchmaking Questions
08:33

Foreign Key Basics
07:42

Tabular Inlines (Django Admin)
03:12

Foreign Key Basics Part 2
05:12

Question QuerySet
05:56

Question Form
11:34

Question Single
09:56

Question Importance
10:46

User Answer Model
07:33

Save User Answer
08:48

Form Validation
04:28

Display & Edit User Answer
08:54

Assign Point Values
05:09

Signals & Receiver Functions
13:41

Matching Algorithm Part 1
16:47

Matching Algorithm Part 2 - Awarding Points
04:12

Matching Algorithm Part 3 - Total Points
03:54

Geometric Mean vs Arithmetic Mean
06:52

Matching Algorithm Part 4 - Match Percentage
10:50

Matches App
07:27

Model Manager for Matches
12:19

Get Match Percentage from Algorithm
07:00

Compare Timezone to Updated Timestamp
11:11

Update Match for QuerySet
06:02


Matching Algorithm Final
12:09

Profile App and Image Field
09:06

Profile View
06:40

Implementing Matching Function
05:31

Instance Property for Match Percentage
02:49

Matches on Dashboard
11:10

Match Images on Dashboard
07:58


Match Images on Dashboard Part 2
07:22

Fix New User Breaking Matching
07:12

Jobs App
07:53

Django LocalFlavor
05:25

UserJob Model
16:41

View & Add User Job
08:44

Update Jobs with Model Formset
10:29

Get Matches QuerySet Update
06:05

Job, Location, Employer Matches
04:51

Fix Migration Error
03:00

Suggestion Position, Location, Employer
13:29

Position Matches
13:45

SlugFields
07:54

Position Match View
08:23

Handle Query Exceptions
04:15

Location & Employer Match Views
07:06

User Logged In Signal
06:40

User Like
14:32

Perform Like in a View
12:11

User Likes on Dashboard
06:38

New User Dashboard
09:29

Include Template with Arguments
09:55

Improve Dashboard
09:11

Get Unanswered Questions
06:43

Unanswered Questions Part 2
04:48

Django Messages
07:02

Bootstrap Alert with Messages
06:08

Custom Signals
08:03

Test User
05:00

Profile User
06:52

Profile Data & Image
04:13

Thank you!
02:40
+
The MatchMaker (aka Meet your Match)
45 Lectures 08:39:37
Start virtualenv, settings files, syncdb, install PIP, South, Stripe, Django
Setup MatchMaker
06:51

We setup new apps here. We also add Media Root, Static Root, Static Dirs, and Template Dirs files to the local_mini.py settings file

Create initial Apps
06:34

Add User Profile account information. Also setup a view to see all active users.. 
User Profile Information Addresses & Jobs
12:12

Add the a single user profile and set up static, media, and template files to be served.
Single User Profile & Serve Static Media
11:25

Add Django Registration
Django Registration
06:48

Implement Twitter Bootstrap v 3
Twitter Bootstrap
11:46

Update Template files for the project
Update Template Files
06:17

Improve the User Profile Template page
Improve Profile Template
06:20

Edit profile

Edit User Profile
12:50

Introduction to Formsets and how you can use them in editing your profile

Edit Profile with Formset
08:35

Add tab navigation to editing profile section

Edit profile tabs
12:31

Update profile detail within your database -- ie, save the information.

Profile Details
12:04

Update the Navbar.

Navbar Edits
07:10

Add the Question app to start understanding users more.

Questions App
11:31

Turn answers into a form with radio buttons. Save those answers.

Save User Answers
12:13

Add pagination to questions page.

Paginator
09:27

Allow users to give an importance level for each question.

Question Importance
09:58

Assign point values to a user's answer to questions. Add "match answer " model for creating a preferred choice.

Assign Point Values
15:21

Implement the matching function to have match % for users. Check Lecture Documentation for the code you will be "copying" into your project. A longer video is available to further explain what is going on.

Matching Function
07:48

More details about the matching algorithm. Video to be revised

Optional Lecture -- Matching Function, Long Form
19:26

Add a match app with a new concept: model managers.

Match App
13:20

Display suggested jobs based off of your matches.

Display Suggested Jobs
06:56

improve job suggestions based off match percentage.

Good Match Job Suggestions
14:25

Update your template files to have better linking

Add Login, Logout, and Questions links
03:10

Add a model to save job suggestions from matches.

JobMatch Model
11:27

Update links and default pictures for users.

Update User Links and Pictures
11:08

Custom User Permissions
14:45

An Introduction to Stripe's Subscriptions.

Stripe & Subscriptions
09:53

Add the Subscribe Template and Setup the initial part of the views for subscribe.

Subscribe Template & View Setup
07:25

Using Jquery for Automatic Scrolling to content.

JQuery Plan Select
13:08

Improve the JQuery Scroll and Function.

Better JQuery Links
08:29

Add a Stripe Payment Form and use JQuery to select which plan automatically.

Select Plan
13:11

How do you continously check that someone is an active member? use Django's middleware.

Check Membership with Middleware
13:34

Use Built-In Django Signals to Create Stripe IDs on User Login.

Django Signals to Create Stripe ID
15:37

Let's start building an internal messaging system.

Direct Messages Model
12:24

Create the Views to see the Messages.

Inbox & Sent Views
09:54

Compose a Direct Message within a View.

Compose Direct Message
13:06

Turn a list of messages into messages have their own single message.

View Single Messages & Add Signal
19:28

Improve the Inbox Layout

Improve Inbox
10:43

Add the ability to reply to direct messages.

Reply
15:26

Clean up the Reply

Reply Part 2
08:45

Update the inbox when you read Direct Messages.

Message Read
17:53

Add stripe information to charge the customer.

Charge Customer
15:53

Finalize Membership

Finalize Membership
10:01

Add "read" indication for when matches are looked at/seen.

Matches Read
22:29
+
It's Happy Hour Time (GeoLocator)
14 Lectures 02:10:10

Introduction to the Foursquare api.

Foursquare API -- Grab Location Data with Python
10:56

Get menu items with the Locu.com API

Locu API -- Grab Food Data with Python
12:57

Using the geopy library, we automatically find latitude and longitute of areas based on input data.

Automatically Find A Location with Geopy.py
06:12

Start GeoLocator Django Project and do initial setup.

Start Project, Setup Settings, Static, and Serve
06:55

Implement the Locu API to have form search it within the Django project.

Locu Search
11:27

Implement the Foursquare API and Geopy to have a form search it within the Django project.

Foursquare Search
11:17

Create the Location App and Update urls file.

Setup Location App & Url
12:38

Add Twitter Bootstrap to your Project

Implement Bootstrap
06:44

Get Location details on each page using the Locu API.

Location Details with Locu
10:11

Add the Google Maps API. See the supplemental material for the pdf "google_maps_javascript" for all the file details.

Setup Google Maps on Single Location Pages
09:04

setup location details with foursquare.

Location Details with Foursquare
10:14

Get Users' Location using Jquery/Javascript

Get User's Location
07:13

Using Jquery to append the user's location to within the search form.

User Location in Views
06:26

Update views to search based on User's Geolocation.

Search Based on Geolocation
07:56
+
Wrapping Up
0 Lectures 00:00
About the Instructor
Justin Mitchel
4.4 Average rating
5,500 Reviews
279,302 Students
21 Courses
Coding Entrepreneur & Teacher

It all started with an idea. I wanted freedom... badly. Freedom from work, freedom from boredom, and, most of all, the freedom to choose. This simple idea grew to define me; it made me become an entrepreneur.

As I strived to gain freedom, overtime I realized that with everything that you do you can either (1) convince someone, somehow, to do it with you or (2) figure out how to do it yourself.

Due to a lack of financial resources (and probably the ability to convince people to do high quality work for free), I decided to learn. Then learn some more. Then some more. My path of learning website design started a long time ago. And yes, it was out of need not desire. I believed I needed a website for a company that I started. So I learned how to do it. The company died, my skills lived on... and got better and better.

It took me a while after learning web design (html/css) to actually start learning programming (web application, storing "data", user logins, etc). I tinkered with Wordpress, believing it could be a "user" site, but I was mistaken. Sure there are/were hacks for that, but they were hacks/work-arounds and simply not-what-wordpress-was-indended-to-be. Wordpress is for blogs/content. Plain and simple.

I wanted more. I had a web application idea that I thought would change the way restaurants hire their service staff. I tested it with my basic html/css skills, had great initial results, and found a technical (programmer) cofounder as a result. He was awesome. We were featured on CNN. Things looked great.

Until... cash-flow was a no-flow. Business? I think not. More like an avid hobby. We had the idea for a business just no business. Naturally, my partner had to find a means of income so I was left with the idea on its own.

Remember how I said everything we do has 2 choices. Well I tried the convincing. Now it was time to try the learning. I opted to learn and haven't looked back since. I tried almost every language out there: PHP, Ruby on Rails, SQL, Objective C, C++, Java, Javascript. I was lost.

Then, I tried Python. I was hooked. It was so easy. So simple. So elegant.

Then, I tried Django. Even more hooked. Made from python & made for web applications. It powers Instagram & Pinterest (two of the hottest web apps right now?).

Then, I tried Bootstrap. Simple and easy front-end design (html & css) that is super easy to use, mobile-ready, and overall... incredible.

Python, Django, and Bootstrap are truly changing the way the world builds web applications. I believe it's because of the simplicity to learn, the sheer power behind them, and, most of all, the plethora of resources to aid anyone in building their web projects (from packages to tutorials to q&a sites).

I relaunched my original venture with my new found skills. That wasn't enough. It didn't compel me as it once had. I started imagining all the possibilities of all the ideas I've always wanted to implement. Now I could. Which one to start with? There were so many good ideas...

Then another idea, a new & fresh idea, started brewing. I started to believe in the power of learning these skills. What would it mean if other non-technical entrepreneurs could learn? What would it mean if ideas were executed quickly, revenue models proven, all prior to approaching the highly sought-after programmers? What would it mean if entrepreneurs became coders?

And so. Coding for Entrepreneurs was born.

Here are some bio highlights:

  • Adjunct Professor of Entrepreneurship at the Lloyd Greif Center for Entrepreneurial Studies in the Marshall School of Business at the University of Southern California
  • Bestselling instructor on Udemy
  • Funded creator on Kickstarter
  • Founder of Coding For Entrepreneurs
  • Cohost of Backer Radio