# Week 10
Quick Takes on Important Web Dev Topics
*Sit with your project groups*
----
# Project 2
- Project 2 due in less than 2 weeks (12/2)! Start Coding!
- Identify your Minimum Viable Product (MVP)
- Assure that tasks and expectations are clearly defined
- Reach out as you need help! Checkoffs are happening
----
# Project Presentations
- Will be in exactly 2 weeks, next class
- Live presentation: If your code is deployed and very difficult to error
- Videos: Everyone else. Saves us time from the inevitable random errors
- Videos will be due prior to class
---
# Deployment
----
# What happens when you run 'rails server'
- You are hosting a webserver on your own computer
- The real world can't send requests to your computer!
- Heroku = great service to host on someone else's computers
----
# Did our heroku deploy work??
---
# HTML and CSS: A Super Cursory Overview
----
# Disclaimer
- We mention this part of web dev because it's important
- Still not within the explicit scope of the class
- TA's won't necessarily be able to help
---
# Webhooks!
----
# What are they?
- Usually we get requests from users
- Can tell other webservers to ping you!
- It's two SERVERS talking to eachother, not users
- Messenger Bot, Github, IFTTT
- [Damn I love the internet](https://github.com/realadeel/awesome-webhooks)
---
# Facebook Messenger Bot
----
# Building a Facebook messenger bot
1. When someone sends this bot a message, facebook will send you a request
2. That request will give you a conversation ID
3. Your Bot sends POST request to facebook with conversation ID and response
----
# Overview
Step 1: Add a route and controller for messaging
Step 2: Tell facebook to send us messages at that route
Step 3: Parse requests and get conversation data
Step 4: Use faraday to respond via a POST request!
----
# Connecting to Facebook
Step 1: Register on Facebook
Step 2: Create new Whales app
Step 3: Set up routes and test receiving messages!
Step 4: Use faraday to send back messages with a POST request!
----
# Moral of the story:
> You don't need to have read every book to be resourceful. Knowing that the library exists and how to read its catalog is good enough
- The web is so much more fun when you're not alone
- "There's an App for that" => "There's an API for that"
---
# Project Work Time
- Make sure to split tasks with your team