Coder Social home page Coder Social logo

alanholmes / core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chatter-laravel/core

0.0 0.0 0.0 5.53 MB

The Laravel single page forum package (Vue + Tailwind CSS + Laravel)

License: MIT License

PHP 52.32% CSS 12.23% JavaScript 8.44% HTML 0.43% Vue 26.57%

core's Introduction

Build status Maintained repository MIT License

Chatter - Laravel Forum Package

This is a Vue + Tailwind CSS + Laravel forum package. Chatter is a single page application to create forums on Laravel applications with ease.

See the youtube demo

This package is inspired on the thedevdojo/chatter package

Installation

If you are planning to install Chatter on an already existing project, please check the ChatterPreset class and check which of the instalations steps you need to run, really dependes on what you got.

Chatter Version Laravel version
^5.8 ^5.8
^6 ^6
  1. Install Laravel 6 If you are installing Chatter in an existing project skip this step.

  2. Include the package in your project and publish the package views, configs, etc:

    $ composer require "chatter-laravel/core:^6"
    $ php artisan vendor:publish --provider "Chatter\\Core\\ChatterServiceProvider"
    $ composer dump-autoload
  3. Run the install command and follow the instructions:

    $ php artisan chatter:install

    If you are installing Chatter in an existing project, include the --plugin option when you call the install command:

    $ php artisan chatter:install --plugin

    The installation command will take care of all that you need to install the forum: migrations, js components, tailwind, composer packages, node packages, etc.

  4. Add the CanDiscuss and HasApiTokens trait to your User model. If you have Laravel Passport already installed on your project you probably already have the HasApiTokens trait in your User model:

    <?php
    
    namespace App;
    
    use Chatter\Core\Traits\CanDiscuss;
    use Laravel\Passport\HasApiTokens;
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    
    class User extends Authenticatable
    {
        use HasApiTokens, Notifiable, CanDiscuss;
  5. Chatter instalation command already installs Laravel Passport but you need to add the CreateFreshApiToken middleware to your web middleware group in your app/Http/Kernel.php file:

    'web' => [
        // Other middleware...
        \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
    ],

If you are installing Chatter on a fresh Laravel instalation, go straight to step 9

  1. Make sure you have Tailwind CSS installed on your project. Tailwind CSS instalation.

  2. Include the Chatter JS app into your resources/js/app.js:

    require('./chatter/app')
  3. Populate the categories of your forum. You can create a new seed for your project.

  4. Run the Laravel server:

    $ php artisan serve
  5. Now, visit http://localhost:8000/forums and you should see your new forum in front of you!

Testing

There are some factories that generates some testing information on the database. Just run the seed to execute those factories:

$ php artisan db:seed --class ChatterTableSeeder

Roadmap

  • Check compatiblity with Laravel 6
  • React to posts
  • Star this repository
  • Pin a discussion
  • Administration/moderation panel (block users, delete posts)
  • Report discussion
  • Edit posts and discussions (with versioning)
  • Users profiles
  • Users rewards
  • Tag other users on discussions and posts
  • Create tests
  • Use Localization (translations)

Customization

Configuration

When you published the vendor assets you added a new file inside of your config folder which is called config/chatter.php. This file contains a bunch of configuration you can use to configure your forums

Vue components

All the view components used by Chatter are published to your project by the preset instalation. You can make all the changes you need for your project on those.

Screenshots

Laravel chatter forum demo
Laravel chatter forum
Laravel chatter forum
Laravel chatter forum
Laravel chatter forum

core's People

Contributors

sbarbat avatar tnylea avatar marktopper avatar chrisbbreuer avatar aaronranard avatar lucasleandro1204 avatar thomasbs avatar timacdonald avatar galdazbiz avatar mhanoglu avatar cristianuibar avatar gggggggg avatar gerbenjacobs avatar napestershine avatar mattlibera avatar seanwhelan avatar putera avatar idbendriss avatar steffen25 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.