# 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