gitextract_o66uexm6/ ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .styleci.yml ├── README.md ├── app/ │ ├── Console/ │ │ └── Kernel.php │ ├── Exceptions/ │ │ ├── DuplicateVoteException.php │ │ ├── Handler.php │ │ └── VoteNotFoundException.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── Auth/ │ │ │ │ ├── AuthenticatedSessionController.php │ │ │ │ ├── ConfirmablePasswordController.php │ │ │ │ ├── EmailVerificationNotificationController.php │ │ │ │ ├── EmailVerificationPromptController.php │ │ │ │ ├── NewPasswordController.php │ │ │ │ ├── PasswordResetLinkController.php │ │ │ │ ├── RegisteredUserController.php │ │ │ │ └── VerifyEmailController.php │ │ │ ├── CategoryController.php │ │ │ ├── CommentController.php │ │ │ ├── Controller.php │ │ │ ├── IdeaController.php │ │ │ ├── StatusController.php │ │ │ └── VoteController.php │ │ ├── Kernel.php │ │ ├── Livewire/ │ │ │ ├── AddComment.php │ │ │ ├── CommentNotifications.php │ │ │ ├── CreateIdea.php │ │ │ ├── DeleteComment.php │ │ │ ├── DeleteIdea.php │ │ │ ├── EditComment.php │ │ │ ├── EditIdea.php │ │ │ ├── IdeaComment.php │ │ │ ├── IdeaComments.php │ │ │ ├── IdeaIndex.php │ │ │ ├── IdeaShow.php │ │ │ ├── IdeasIndex.php │ │ │ ├── MarkCommentAsNotSpam.php │ │ │ ├── MarkCommentAsSpam.php │ │ │ ├── MarkIdeaAsNotSpam.php │ │ │ ├── MarkIdeaAsSpam.php │ │ │ ├── SetStatus.php │ │ │ └── StatusFilters.php │ │ ├── Middleware/ │ │ │ ├── Authenticate.php │ │ │ ├── EncryptCookies.php │ │ │ ├── PreventRequestsDuringMaintenance.php │ │ │ ├── RedirectIfAuthenticated.php │ │ │ ├── TrimStrings.php │ │ │ ├── TrustHosts.php │ │ │ ├── TrustProxies.php │ │ │ └── VerifyCsrfToken.php │ │ └── Requests/ │ │ ├── Auth/ │ │ │ └── LoginRequest.php │ │ ├── StoreCategoryRequest.php │ │ ├── StoreCommentRequest.php │ │ ├── StoreIdeaRequest.php │ │ ├── StoreStatusRequest.php │ │ ├── StoreVoteRequest.php │ │ ├── UpdateCategoryRequest.php │ │ ├── UpdateCommentRequest.php │ │ ├── UpdateIdeaRequest.php │ │ ├── UpdateStatusRequest.php │ │ └── UpdateVoteRequest.php │ ├── Jobs/ │ │ └── NotifyAllVoters.php │ ├── Mail/ │ │ └── IdeaStatusUpdatedMailable.php │ ├── Models/ │ │ ├── Category.php │ │ ├── Comment.php │ │ ├── Idea.php │ │ ├── Status.php │ │ ├── User.php │ │ └── Vote.php │ ├── Notifications/ │ │ └── CommentAdded.php │ ├── Policies/ │ │ ├── CategoryPolicy.php │ │ ├── CommentPolicy.php │ │ ├── IdeaPolicy.php │ │ ├── StatusPolicy.php │ │ └── VotePolicy.php │ ├── Providers/ │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── BroadcastServiceProvider.php │ │ ├── EventServiceProvider.php │ │ ├── HorizonServiceProvider.php │ │ └── RouteServiceProvider.php │ └── View/ │ └── Components/ │ ├── AppLayout.php │ └── GuestLayout.php ├── artisan ├── bootstrap/ │ ├── app.php │ └── cache/ │ └── .gitignore ├── composer.json ├── config/ │ ├── app.php │ ├── auth.php │ ├── broadcasting.php │ ├── cache.php │ ├── cors.php │ ├── database.php │ ├── filesystems.php │ ├── hashing.php │ ├── horizon.php │ ├── logging.php │ ├── mail.php │ ├── queue.php │ ├── sanctum.php │ ├── services.php │ ├── session.php │ └── view.php ├── database/ │ ├── .gitignore │ ├── factories/ │ │ ├── CategoryFactory.php │ │ ├── CommentFactory.php │ │ ├── IdeaFactory.php │ │ ├── StatusFactory.php │ │ ├── UserFactory.php │ │ └── VoteFactory.php │ ├── migrations/ │ │ ├── 2014_10_12_000000_create_users_table.php │ │ ├── 2014_10_12_100000_create_password_resets_table.php │ │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ │ ├── 2019_12_14_000001_create_personal_access_tokens_table.php │ │ ├── 2021_11_19_154310_create_statuses_table.php │ │ ├── 2021_11_20_154310_create_categories_table.php │ │ ├── 2021_11_21_154310_create_ideas_table.php │ │ ├── 2021_11_24_195521_create_votes_table.php │ │ ├── 2021_12_19_130759_create_comments_table.php │ │ └── 2021_12_28_133951_create_notifications_table.php │ └── seeders/ │ ├── CategorySeeder.php │ ├── CommentSeeder.php │ ├── DatabaseSeeder.php │ ├── IdeaSeeder.php │ ├── StatusSeeder.php │ └── VoteSeeder.php ├── package.json ├── phpunit.xml ├── public/ │ ├── .htaccess │ ├── css/ │ │ └── app.css │ ├── index.php │ ├── js/ │ │ └── app.js │ ├── mix-manifest.json │ ├── robots.txt │ ├── vendor/ │ │ └── horizon/ │ │ ├── app-dark.css │ │ ├── app.css │ │ ├── app.js │ │ └── mix-manifest.json │ └── web.config ├── resources/ │ ├── css/ │ │ └── app.css │ ├── js/ │ │ ├── app.js │ │ └── bootstrap.js │ ├── lang/ │ │ └── en/ │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php │ └── views/ │ ├── auth/ │ │ ├── confirm-password.blade.php │ │ ├── forgot-password.blade.php │ │ ├── login.blade.php │ │ ├── register.blade.php │ │ ├── reset-password.blade.php │ │ └── verify-email.blade.php │ ├── components/ │ │ ├── application-logo.blade.php │ │ ├── auth-card.blade.php │ │ ├── auth-session-status.blade.php │ │ ├── auth-validation-errors.blade.php │ │ ├── button.blade.php │ │ ├── dropdown-link.blade.php │ │ ├── dropdown.blade.php │ │ ├── input.blade.php │ │ ├── label.blade.php │ │ ├── nav-link.blade.php │ │ ├── notification-success.blade.php │ │ └── responsive-nav-link.blade.php │ ├── dashboard.blade.php │ ├── emails/ │ │ ├── comment-added.blade.php │ │ ├── idea-status/ │ │ │ └── updated.blade.php │ │ └── idea-status-updated.blade.php │ ├── idea/ │ │ ├── index.blade.php │ │ └── show.blade.php │ ├── layouts/ │ │ ├── app.blade.php │ │ ├── guest.blade.php │ │ └── navigation.blade.php │ ├── livewire/ │ │ ├── add-comment.blade.php │ │ ├── comment-notifications.blade.php │ │ ├── create-idea.blade.php │ │ ├── delete-comment.blade.php │ │ ├── delete-idea.blade.php │ │ ├── edit-comment.blade.php │ │ ├── edit-idea.blade.php │ │ ├── idea-comment.blade.php │ │ ├── idea-comments.blade.php │ │ ├── idea-index.blade.php │ │ ├── idea-show.blade.php │ │ ├── ideas-index.blade.php │ │ ├── mark-comment-as-not-spam.blade.php │ │ ├── mark-comment-as-spam.blade.php │ │ ├── mark-idea-as-not-spam.blade.php │ │ ├── mark-idea-as-spam.blade.php │ │ ├── set-status.blade.php │ │ └── status-filters.blade.php │ └── welcome.blade.php ├── routes/ │ ├── api.php │ ├── auth.php │ ├── channels.php │ ├── console.php │ └── web.php ├── server.php ├── storage/ │ ├── app/ │ │ └── .gitignore │ ├── debugbar/ │ │ └── .gitignore │ ├── framework/ │ │ ├── .gitignore │ │ ├── cache/ │ │ │ └── .gitignore │ │ ├── sessions/ │ │ │ └── .gitignore │ │ ├── testing/ │ │ │ └── .gitignore │ │ └── views/ │ │ └── .gitignore │ └── logs/ │ └── .gitignore ├── tailwind.config.js ├── tests/ │ ├── CreatesApplication.php │ ├── Feature/ │ │ ├── Auth/ │ │ │ ├── AuthenticationTest.php │ │ │ ├── EmailVerificationTest.php │ │ │ ├── PasswordConfirmationTest.php │ │ │ ├── PasswordResetTest.php │ │ │ └── RegistrationTest.php │ │ ├── CategoryFiltersTest.php │ │ ├── Comments/ │ │ │ ├── AddCommentTest.php │ │ │ ├── DeleteCommentTest.php │ │ │ ├── EditCommentTest.php │ │ │ └── ShowCommentsTest.php │ │ ├── CreateIdeaTest.php │ │ ├── DeleteIdeaTest.php │ │ ├── EditIdeaTest.php │ │ ├── OtherFiltersTest.php │ │ ├── SearchFilterTest.php │ │ ├── ShowIdeasTest.php │ │ ├── SpamManagementTest.php │ │ ├── StatusFiltersTest.php │ │ ├── VoteIndexPageTest.php │ │ └── VoteShowPageTest.php │ ├── TestCase.php │ ├── Tests/ │ │ └── Feature/ │ │ └── AdminSetStatusTest.php │ └── Unit/ │ ├── GravatarTest.php │ ├── IdeaTest.php │ ├── Jobs/ │ │ └── NotifyAllVotersTest.php │ ├── StatusTest.php │ └── UserTest.php └── webpack.mix.js