Skip to content

DBSetyawan/news-management-application

Repository files navigation

Access admin

FVCproductions

Access user non-admin

FVCproductions

Exception connection redis

FVCproductions

Repository Application news managements

Package Depedencies

  • Laravel 6.x
  • Composer
  • php 7.2.*
  • Redis 3.0.5 (stable) version
  • Nginx
  • Valet
  • etc.

Package dev-Depedencies

  • laravel passport
  • Predis 1^ version

Petunjuk (started redis [local])

1. install redis 3.0.5^
2. start redis 3.0.5^ on your local
3. running application

Queue redis to work?

Sebelum menuju action menu button reply comment / Add Comment
pada menu detail post (action edit), pastikan anda menjalankan php artisan queue:work.

Petunjuk (Installasi applikasi)

  1. cd [project]
  2. composer install
  3. npm install
  4. php artisan migrate
  5. php artisan passport:install
  6. (saya running by valet web server nginx) *not php artisan serv (automatically)
  7. pastikan environment pada .env sesuai dengan development yang anda pakai.

Redis running : Testing Comments Queue using redis.

news apps

Get started

Petunjuk (Registrasi User)


Saya menyarankan untuk registrasi awal dengan Username/name (attribute):
  - users (non-admin)
  - admin (admin)

  • Refs middleware by protected Privilages

  • Kernel

    -'Privilages' => \App\Http\Middleware\SessionPrivilages::class

Logic update dan store post with dynamic show/update(file img)

    /**
     * logic process posted comments with image [fixed].
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  @table.post.id -> $id
     * @return \Illuminate\Http\Response
     */
    public function UpdateChangedPosted(Request $request, $id){
        
        $input = $request->all();
        $post = Post::whereIn('id',[$input['post_id']])->first();

        if($request->hasFile('file'))
        {
            $image_name = $request->file('file')->getClientOriginalName();
            $filename = pathinfo($image_name,PATHINFO_FILENAME);
            $image_ext = $request->file('file')->getClientOriginalExtension();
            $fileNameToStore = $filename.'-'.time().'.'.$image_ext;
            $path = $request->file('file')->storeAs('public/News',$fileNameToStore);
           
        }  
            else {

                $fileNameToStore = $post->file;

        }

        $storagePath  = Storage::disk('public')->getDriver()->getAdapter()->getPathPrefix();
        $datapath = $storagePath.'News\\'.$post->file;

        if(file_exists($datapath)){
            Storage::delete($datapath);
            $post->file = $fileNameToStore;
            $post->save();
        }

        $data = Comment::where('id', $input['parent_id'])->update(['body' => implode('', $input['body'])]);
   
        event(new EventUpdatedPost($input));
                
        return back();

    }

     /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     * @return \Illuminate\Http\ProcessComment Queue
     */
    public function store(Request $request)
    {
    	$request->validate([
            'body'=>'required',
        ]);
   
        $input = $request->all();
        $input['user_id'] = auth()->user()->id;
    
        $comment = Comment::create($input);

        ProcessComment::dispatch($comment);
            
        return back();
    }

Petunjuk (Queue Comments)

1. Install redis 3.0.5 (stable) from redis.io
2. Masuk pada menu manage post.
3. Berikan komentar pada post yang tersedia. 
4. Comments Queue akan menunggu prosesnya 

Tampilan Proses queue work berhasil dieksekusi

FVCproductions


API docs with passport(DEFAULT)

Tampilan API registrasi

FVCproductions

Tampilan API login

FVCproductions

RESPONSE JSON

  • RESPONSE API PAG at JSON RESPONSE
    • [ GET ALL RESOURCES | MAKE PAGINATE POSTED COMMENTS ]

Support

Reach out to me at one of the following places!


License

License

Releases

No releases published

Packages

No packages published