ergodnc (Ergonomic Desk & Coffee) is an open source Laravel project that's being built live on the official Laravel YouTube Channel

Related tags

Laravel ergodnc
Overview

About This Project

ergodnc (Ergonomic Desk & Coffee) is an open source Laravel project that's being built live on the official Laravel YouTube Channel (Check Here).

You can contribute by asking questions, helping others, reporting issues, or opening pull requests.

Learning Laravel

Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.

If you don't feel like reading, Laracasts can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.

Laravel Sponsors

We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel Patreon page.

Laravel Premium Partners

Comments
  • Upload image

    Upload image

    In the OfficeImageController/store function, it returns an error when uploading the image via postman "Call to a member function storePublicly() on null" it cannot read the image file posted!! But the test passed successfully!!

    opened by kingdomac 6
  • Assigning a new office approval_status is redundant

    Assigning a new office approval_status is redundant

    When we created the office migration, the default approval_status is pending (1).

    Why do we also need to do the following in the controller when creating an office?

    $attributes['approval_status'] = Office::APPROVAL_PENDING;
    

    NOTE: If we remove that line in the controller, the JsonResource response when creating an office does NOT contain the default pending status from the database. This will make the following assertion to fail:

    ->assertJsonPath('data.approval_status', Office::APPROVAL_PENDING)
    
    opened by bryceandy 3
  • Unable to find a file at path

    Unable to find a file at path

    I'm getting a weird error whenever I try to execute the tests. It seems like the first part of the app URL is missing.

    Problems comes from OfficeImageControllerTest

    And here's the file OfficeImageControllerTest

    Can anyone help ?

    Screenshot 2021-10-12 at 22 40 48
    opened by dagrv 2
  • Date Between

    Date Between

    What if the reservation date range is wider than the search date range !? The search date range will be included in the reservation date range but the reservation will not be shown in the result. But the office in fact will be reserved and occupied in this date search range. EX: Search: "2021-02-01" to "2021-04-01" Reservation: "2021-01-01" end "2021-05-01" "2021-01-01" not between "2021-02-01" & "2021-04-01" "2021-05-01" not between "2021-02-01" & "2021-04-01" but ["2021-02-01" & "2021-04-01"] is inside ["2021-01-01" & "2021-05-01"]

    opened by kingdomac 2
  • Login endpoint returns

    Login endpoint returns "419 unknown status "

    Hi @themsaid ,

    I have cloned this repository with all settings as it is and for frontend, I am using your "nuxt-ergodnc" repository.

    I have install front end using 'npm install' and backend using 'composer install && php artisan migrate && php artisan db:seed'

    when, I try to login from frontend, It throws error '419 unknown status'.

    I just noticed that it's not working in any of Laravel 8.x version. I tried it with Laravel 9 and it's working with Laravel 9 .

    I think, there are some "cors " issues with "fruitcake/cors" package in laravel 8, Laravel 9 does not use this package. is there a way to make it work with laravel 8?

    Thanks

    opened by amitleuva1987 1
  • Code Consistency

    Code Consistency

    • In the first, we used user_id for Hosts and visitor_id for visitors
    • Is it better to use policies for user reservation authorization (not allowed to reserve its own offices)?
    • Scope activeBetween should be named activeBetweenDates for consistency because for name convenience "activeBetween" can be either dates or numbers or ... so it's more efficient to rename it as "activeBetweenDates"
    opened by kingdomac 1
  • Business Logic

    Business Logic

    • What if I need an urgent reservation on the same date? the whole app will not be available for me
    • If there is an available office on the today date it cannot be booked for today! so all the app will be again not available for all today booking. so the validation should be after_or_equal start-date for the end_date and we should remove the numberOfDays condition < 2
    opened by kingdomac 1
  • Create Reservation

    Create Reservation

    • Missing the validate() function on validator() helper
    • Changing the key messages related to the date to "date_range" instead of "office_id"
    • The diffDays return a floor result so to get the real number of days you should use (int)ceil() and floatDiffInRealDays: _$numberOfDays = (int)ceil(Carbon::parse(request('end_date'))->endOfDay()->floatDiffInRealDays( Carbon::parse(request('start_date'))->startOfDay() )); so now the difference between addDays(1) and addDays(40) will be 40 as you are getting the startDay of the first one and the endDate of the second one. Note: (Change in the testing 41 to 40)
    **Error:**
    - the calculation between today and tomorrow is 1.99999 which is 1 for floor and 2 for ceil functions
    
    - If you use only addition by one the calculation will be wrong
    
    • If you want to keep the logic of a 1-day reservation not allowed remove the condition because it already exists inside the validator when using the after:start_date for the end_date
    opened by kingdomac 1
  • Missing validate method

    Missing validate method

    Hi Mohamed

    I think you forgot to call validate method on the validator helper in "UserReservationController" when you want to create a reservation

    opened by ashram 1
  • Reservation Validation Rule

    Reservation Validation Rule

    Hey Said, I am running with some issue within validators which validate the reservation for an office which should always be greater than 1 day. Lets say i make a reservation for an office from "2021-10-07" to "2021-10-08" on 2021-10-06 since the difference between these two dates is 1 day($numberOfDays = 1 ) and as user are allowed to stay till the last day which is 2021-10-08, technically that makes it reservation for 2 days( $numberOfDays + 1) and following validator will always pass if($numberOfDays < 2){ throw ValidationException::withMessages([ 'start_date' => 'You cannot make reservation for only one day' ]); } and user will be allowed to make the reservations which should not be allowed according to the validation rule.

    Please let me know if i am mistaken.

    opened by Nirajnepal 1
  • Episode 5 observations

    Episode 5 observations

    Your code is using 'public' disk everywhere. I know you said that you would move this to s3 maybe in production, but this means changing all public disk use to s3 but you may have other uses for the public disk.

    I would prefer to create a new disk just for images which initially maps to local but can change to map to an S3 bucket later.


    I find it useful to store the disk name in the images table. This allows images to migrated from one disk to another at some point in the future.


    API should return the full URI of the image so that the consumer does not need to know where the images are being stored and can just use the URI directly.

    opened by snapey 1
  • If VerifyEmail is used redirect to the frontend

    If VerifyEmail is used redirect to the frontend

    If email verification is switched on a user will need to be redirected back to the front end login page not the API.

    This PR adds the redirect back to the front end.

    opened by garethredfern 0
  • Apply pipelines in OfficeController

    Apply pipelines in OfficeController

    Hi, I've added some pipelines that made the code much simple and also filtration classes that can be reusable. ref: https://laravel.com/api/8.x/Illuminate/Pipeline/Pipeline.html hope it can be useful.

    all test passes! Screenshot from 2021-10-17 15-52-45

    finally I wanted to thank you for this amazing series.

    best regards

    opened by osclancer 0
  • Image Path

    Image Path

    in OfficeImageControllerTest after changing the imageResource to return the full path the Storage::assertExists($response->json('data.path')); return an error

    opened by kingdomac 5
Owner
Mohamed Said
Web developer at Laravel
Mohamed Said
Twitter clone project being developed by using PHP Laravel Framework and tailwind.css

Twits! About Twits! We, as enthusiastic learners and new developers, kicked of this project in order to improve our skills and capabilities in PhP Lar

Furkan Meraloğlu 10 Aug 29, 2022
This Laravel package merges staudenmeir/eloquent-param-limit-fix and staudenmeir/laravel-adjacency-list to allow them being used in the same model.

This Laravel package merges staudenmeir/eloquent-param-limit-fix and staudenmeir/laravel-adjacency-list to allow them being used in the same model.

Jonas Staudenmeir 5 Jan 6, 2023
A Laravel package to scrub sensitive information that breaks operational security policies from being leaked on accident or not by developers.

A Laravel package to scrub sensitive information that breaks operational security policies from being leaked on accident or not by developers.

YorCreative 104 Jan 6, 2023
Clean up and prevent empty meta from being saved for Job, Company, or Resume listings in database

=== Empty Meta Cleanup for WP Job Manager === Contributors: tripflex Tags: wp job manager, meta, cleanup, wpjobmanager Requires at least: 5.2 Tested u

Myles McNamara 3 Feb 7, 2022
📲 SmsOffice.ge service with notification channel for Laravel

Laravel SmsOffice This package allows you to send SMS messages with SmsOffice.ge API You can send sms with notification class or directly with SmsOffi

Levan Lotuashvili 11 Dec 24, 2022
An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel, Bootstrap, and Vue.js

Laravel Soundboard An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel 5.8, Bootstrap 4, Vue.js, Boot

Jeremy Kenedy 24 Oct 28, 2022
Free and open-source Laravel admin dashboard interface built with Livewire & Alpine.js based on Bootstrap 5

Volt Dashboard Laravel Free Frontend Web App for Laravel with Livewire & Alpine.js Never start a development project from scratch again. We've partner

Themesberg 200 Jan 4, 2023
Attendize is an open-source ticketing and event management application built using the Laravel PHP framework

Attendize is an open-source ticketing and event management application built using the Laravel PHP framework. Attendize allows event organisers to sel

Attendize 3.6k Dec 27, 2022
This is the source of the official Laravel website.

Laravel Website This is the source of the official Laravel website. Local Development If you want to work on this project on your local machine, you m

The Laravel Framework 471 Dec 31, 2022
An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

Realtime-chat-application An online communication application that provides a real-time or live transmission of text messages from sender to receiver.

isha 2 Aug 15, 2022
Bootstrap Theme Generator inside of a Wordpress-Settings-Page. Includes live compilation of SCSS!

Bootstrap-Theme-Generator Bootstrap Theme Generator enables you to choose which components of Bootstrap you want to load. It also gives you the possib

null 3 Aug 15, 2022
Multipurpose Laravel and Livewire Application. This is a part of tutorial series on Youtube.

Multipurpose Laravel and Livewire Application This is a part of YouTube tutorial series on building application using Laravel and Livewire. Here is th

Clovon 88 Dec 23, 2022
Ten Theme From Youtube Videos

Webverse_ten This is the main branch of the Ten Theme from Youtube Videos, to view the progress of a specific video switch to the corresponding branch

Webverse 10 Dec 5, 2022
Get the thumbnail of youtube and vimeo videos from the url. The returned information is ID and URL of the thumbnail

Video Thumbnail URL Get the thumbnail of youtube and vimeo videos from the url. The returned information is ID and URL of the thumbnail Installation I

Fernando Valler 2 Jan 22, 2022
A package to generate YouTube-like IDs for Eloquent models

Laravel Hashids This package provides a trait that will generate hashids when saving any Eloquent model. Hashids Hashids is a small package to generat

Λгi 25 Aug 31, 2022
Laravel wrapper for Sentry Official API

Laravel Sentry API Provides a simple laravel wrapper to some of the endpoints listed on (Official Sentry API)[https://docs.sentry.io/api/]. **Note: Th

Pedro Santiago 1 Nov 1, 2021
Official Mollie integration for Laravel Cashier

Subscription billing with Laravel Cashier for Mollie Laravel Cashier provides an expressive, fluent interface to subscriptions using Mollie's billing

Mollie 80 Dec 31, 2022
This package is the official Laravel integration for Pirsch Analytics

Laravel Pirsch This package is the official Laravel integration for Pirsch Analytics. Installation Install this package. composer require pirsch-analy

Pirsch Analytics 13 Nov 10, 2022
The official ibanapi.com PHP Package.

?? IBAN API validation using ibanapi.com for PHP The official node package for validating IBAN using the ibanapi.com public API for PHP This module of

null 7 Jul 11, 2022