{"id":18688933,"url":"https://github.com/colbydude/larabook","last_synced_at":"2025-04-12T05:38:04.228Z","repository":{"id":82422564,"uuid":"21361794","full_name":"Colbydude/larabook","owner":"Colbydude","description":"Work along repository for @Laracasts' Larabook series.","archived":false,"fork":false,"pushed_at":"2014-10-22T17:44:49.000Z","size":4641,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T05:37:55.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Colbydude.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-30T18:38:49.000Z","updated_at":"2020-04-14T03:05:41.000Z","dependencies_parsed_at":"2023-02-28T11:00:49.973Z","dependency_job_id":null,"html_url":"https://github.com/Colbydude/larabook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Colbydude%2Flarabook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Colbydude%2Flarabook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Colbydude%2Flarabook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Colbydude%2Flarabook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Colbydude","download_url":"https://codeload.github.com/Colbydude/larabook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525168,"owners_count":21118616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T10:39:10.468Z","updated_at":"2025-04-12T05:38:04.159Z","avatar_url":"https://github.com/Colbydude.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Larabook\n========\n\nA work-along repository to go with Laracasts' \"[Let's Build Larabook From Scratch](https://laracasts.com/series/build-a-laravel-app-from-scratch)\" series.\n\nLive demo available at http://larabook.voidteamdev.net\n\n**Lesson 1:** Basically covered just setting up homestead, although not quite relevant to this repo.\n\n**Lesson 2:** Added some dependencies including generators, codeception, and a couple laracasts-specific packages.\n\n**Lesson 3:** This just showcases how to use environment variables to protect sensitive database information and hook up to Sequel Pro, which I have done before the lessons even started.\n\n**Lesson 4:** Added our \"Master Page\" and pulled in Bootstrap for design. Also created a simple PagesController for our simple static pages.\n\n**Lesson 5:** Basic Homepage design with Bootstrap boilerplate code, prepared for SASS install.\n\n**Lesson 6:** Install Gulp and set up some basic tasks for automatically watching and compiling scss files.\n\n**Lesson 7:** We setup some unit tests with Codeception and fake registration functionality.\n\n**Lesson 8:** Extremely basic user registration and authentication.\n\n**Lesson 9:** Registration Validation and some nicer styling.\n\n**Lesson 10:** For larger applications that need to be maintained for years, it makes sense to take a step back, and think about architecture. Let's use commands to describe the various instructions that our app offers, as well as a command bus to manage the act of translating these commands into handler classes.\n\n**Lesson 11:** Add a simple domain event for user registration.\n\n**Lesson 12:** Add simple Flash Messaging to use between views.\n\n**Lesson 13:** Setup basic user feedback if we're logged in or not.\n\n**Lesson 14:** We set up signing into Larabook and create a simple test to prove that this works.\n\n**Lesson 15:** Fix up Codecept and make our tests return to green. We also move fixtures.yml from app/tests to test/.\n\n**Lesson 16:** Boy this was a long one! In this lesson we add in extremely basic functionality to publish and view statuses.\n\n**Lesson 17:** We add some integration tests to make sure repositories work well.\n\n**Lesson 18:** We add simple Gravatar support by using a User Presenter.\n\n**Lesson 19:** Style out the statuses and make things much prettier and easier to comprehend. We update our tests as well.\n\n**Lesson 20:** Import Faker to be easily able to generate dummy data. Also handled trying to log in to an account that doesn't exist (did I miss this earlier?).\n\n**Lesson 21:** We add a simple user index to browse through all the registered users.\n\n**Lesson 22:** Add User Profiles as well as according tests and the ability to post statuses from your own profile.\n\n**Lesson 23:** Quick refactoring session. Fixed my user table migration to include `remember_token` as well.\n\n**Lesson 24:** A lot here! We add the ability to follow users as well as clean up our statuses page to display the statuses of who you're following, as well as yourself.\n\n**Lesson 25:** This time we make it so the user is able to unfollow users they are following, and tidy up the user profile a bit. As well as add appropriate tests.\n\n**Lesson 26:** Some slight refactoring. Allows us to now view the \"Browse Users\" page and profiles without being logged in.\n\n**Lesson 27:** Threw in a simple mailer to handle welcome emails on registration. However, this won't fire in production at the moment.\n\n**Lesson 28:** Setup some SASS partials. The lesson also uses a theme made by Laracasts User Amit Erandole, however I've already implemented some styling of my own. So we'll continue with that.\n\n**Lesson 29:** We add the ability to reset a user's password, however we're only logging at this point. No emails are actually sent.\n\n**Lesson 30:** Long lesson here! This time we allow users to post comments to statuses.\n\n**Lesson 31:** This lesson just covers deploying to [Laravel Forge](https://forge.laravel.com/) with [Digital Ocean](https://www.digitalocean.com/?refcode=37f8b131538c), which I've been doing the whole time! So I just updated the footer to reflect that.\n\n## Deployment\n\nThis site is hosted with [Laravel Forge](https://forge.laravel.com/) and [Digital Ocean](https://www.digitalocean.com/?refcode=37f8b131538c).\n\nMy deployment script is as follows:\n\n```sh\n$ cd /home/forge/larabook.voidteamdev.net\n$ git pull origin master\n$ mkdir -p app/models\n$ composer install\n$ php artisan migrate\n$ mkdir -p public/build\n$ git rev-parse HEAD \u003e public/build/version.txt\n```\n\n## Laravel PHP Framework\n\n[![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework)\n[![Total Downloads](https://poser.pugx.org/laravel/framework/downloads.svg)](https://packagist.org/packages/laravel/framework)\n[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework)\n[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework)\n[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework)\n\nLaravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.\n\nLaravel aims to make the development process a pleasing one for the developer without sacrificing application functionality. Happy developers make the best code. To this end, we've attempted to combine the very best of what we have seen in other web frameworks, including frameworks implemented in other languages, such as Ruby on Rails, ASP.NET MVC, and Sinatra.\n\nLaravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.\n\n## Official Documentation\n\nDocumentation for the entire framework can be found on the [Laravel website](http://laravel.com/docs).\n\n### Contributing To Laravel\n\n**All issues and pull requests should be filed on the [laravel/framework](http://github.com/laravel/framework) repository.**\n\n### License\n\nThe Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbydude%2Flarabook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolbydude%2Flarabook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbydude%2Flarabook/lists"}