/laravel-amotw

All in all it's just another message on the wall... with Laravel & ReactJS

Primary LanguagePHP

Another Message on the Wall

A simple messaging system that allows users to... You guessed it, post messages to a wall.

Demo: http://messageboard.lamplightsolutions.net

Login

Message Board

Core Functionality Overview:

  • Display list of existing messages (message content and entered name and email)
  • List of messages sorted most recent first
  • Messages should be paginated, 10 per page
  • Form to post message has fields for name, email, and message
  • Registration Form validates name, email, and message as required fields, email is a valid email
  • Messages are stored in a database
  • No restrictions on use of back-end or front-end frameworks, as long as back-end is in PHP
  • Code pushed to Github, bitbucket, or other online code repository

Additional Functionality Overview:

  • User registration & authentication
  • Message delete (restricted to posts created by the currently logged in user)
  • User email verification on registration
  • Username & email unique validation on registration
  • Integrate ReactJS
  • Integrate Redux
  • User avatar support
  • Fancy looking design & styles
  • Nested post replies
  • Favorited posts
  • Better SCSS support
  • REST API integration
  • Add infinite scroll to post pagination
  • Taggable support

Codebase Overview

  • Laravel 5.7.x
  • ReactJS
  • Bootstrap 4

Usage

General Debugging

The application comes with Laravel Telescope pre-installed in order to better view what's happening under the hood. To access the telescope dashboard, just navigate to http://localhost:8000/telescope and that's it!

Email verification

The application includes the default email verification using by the MustVerifyEmail trait in Laravel 5.7. Since there currently aren't any smtp drivers setup to handle email, email verifications can be viewed and tested via Laravel Telescope by navigating to http://localhost:8000/telescope/mail during the registration process.