It’s a bust, but I’m still learning

So here’s where I’m at so far in terms of a challenge to learn Laravel and build a very simple website that uses Facebook API to authenticate users, and post information to their wall, as well as bring their posts into the website.

http://github.com/monicadear/fuzzy-rotary-phone

These are my notes on debriefing:

  1. I had to begin at the beginning, and learn everything about Laravel including composer, artisan, Node.js to use Gulp, to run Elixir to compile SASS. I also took a detour into setting up a VirtualBox and trying to setup Vagrant and Homestead. Some of the cognitive costs are around provisioning and overall setup, and these are never “fun” for me.
  2. I watched the first 6 Laracasts and learned about including some routes and blades ( about, contact, home) and “artisan make” for the built-in user authentication. I got a sense of where everything has a home within the Laravel setup, such as the controllers, routes, the “public” folder, add-on vendor items, resources/views, and the app config file and the very important “.env” file of environmental values such as database, mail details, and more.
  3. I added SammyK’s LaravelFacebookSDK code as well as the latest facebook sdk.
  4. I deployed a version of what I zipped up to a new Elastic Beanstalk AWS instance but was not (yet) able to get environment details to “correctly configure to “talk” with that database, so the site itself still says “sorry, cannot be found”, Ithink my .env settings are not correct for the RDS I set up.

http://trulylawrenceposts.pchagjmae5.us-west-2.elasticbeanstalk.com/public

Image for post
Image for post
“Sorry, you are a bad person.”
Image for post
Image for post
I set up a mySQL for the “Elastic Beanstalk” on Amazon AWS
Image for post
Image for post
This is what a “route” looks like. Thank you Laracast!
Image for post
Image for post
Looks terrible, this is using np to install Gulp in order to deal with that “elixir” on the left side.
Image for post
Image for post
One win, my SASS compiled!

I was going to do the steps from the sample example for Login Redirect from herehttps://github.com/SammyK/LaravelFacebookSdk#login-from-redirect to test, generate errors and see how to get FB authentication to populate the users table.

For the database, I would have created a new facebook users table with uid, fbid, picture, where uid would have carried over from the existing users.id. However, I would first have had to learn how to use artisan migrate in order to create that as a real “migration”.

Then I would have followed

https://developers.facebook.com/docs/php/howto/example_upload_photo

https://developers.facebook.com/docs/php/howto/example_upload_video

https://developers.facebook.com/docs/php/howto/example_facebook_login

to embed some samples and see If I could load those directly from the logged-in user’s landing page

Then my plan was to use https://developers.facebook.com/docs/php/howto/example_retrieve_user_profile

to see about pulling from the open graph, and formatting the user’s last three items they posted. in a simple unordered list by using their Facebook ID.

In the past, I have used so many of the contributed modules in Drupal as a quick-and-dirty way to get something up-and-running, but thanks to this exercise I see the value of making a more tightly-controlled and more minimalistic set of functions.

I did get some basics to work on my local, including logging in and registering. So not a total loss!!!!!!

Image for post
Image for post
What the Amazon backend “console” looks like
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Pretty amazing login capability, out-of-the-box in Laravel
Image for post
Image for post
Image for post
Image for post
what is my database ?

So to wrap up, this has been a great experience.

Here’s to continued learning!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store