Skip to content

aziyan99/microblog

Repository files navigation

Revision History

Date Version
April 16, 2021 V1.0.0

Introduction

Microblog is a minimalist content management system,including categories management, posts management, messages, and users management, other than that microblog also have seo-friendly URL by using slug. Microblog was built with laravel framework and livewire library using full page component. For the database, microblog using MySQL DBMS. List of current available features in microblog:

  1. Categories management
  2. Posts management
  3. Messaging
  4. Users management
  5. Update general information of microblog
  6. User profile update
  7. Export excel of categories, posts, and users

Requirements

Before install microblog, make sure your server have all of this requirements, for details view feel free to open and see composer.json file in the root of microblog directory. Basically microblog require all the depedencies to running laravel app, you can check for the requirement at the official laravel documentation.

"require": {
        "php": "^7.3|^8.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "laravel/framework": "^8.12",
        "laravel/tinker": "^2.5",
        "livewire/livewire": "^2.4",
        "maatwebsite/excel": "^3.1"
},
"require-dev": {
        "barryvdh/laravel-debugbar": "^3.5",
        "barryvdh/laravel-ide-helper": "^2.9",
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.2",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.3.3"
},

Installations

Before start the installtion make sure all depedencies has statisfied in your server or local development both of microblog requirements and laravel requirements. Please check laravel documentation for details also you need PHPOffice PHPExcel >= 1.8.0.

Open your phpmyadmin or other database management application and create new database with the name is microblog, or you can using MySQL command line by typing:

CREATE DATABASE microblog;

Navigate to the root directory of microblog using terminal or command prompt in windows operating system by typing:

cd microblog

Install all depedencies using command composer install.

composer install

Setup and update .env file with your credentials. If the .env file doesn't exist, you can copied from .env.example file. After that change the value for key DB_HOST=<your-database-host>, DB_PORT=<your-database-port>, DB_DATABASE=<your-database-name/microblog>, DB_USERNAME=<your-database-username>, DB_PASSWORD=<your-database-password>. After that generate new APP_KEY= by command:

php artisan key:generate

Make a symlink to the storage

php artisan storage:link

Clearning cache and generate a new one

php artisan view:clear
php artisan route:clear
php artisan view:cache
php artisan route:cache

Running migration and seeder for initiating data.

php artisan migrate:fresh --seed

If you'r using laravel valet, now you can visit the site opening in browser at http://microblog.test, or you can builtin laravel server by using commang php artisan server and visit the site at http://localhost:8000.

php artisan serve

For login to the administrator site you can open the site at:

http://microblog.test/auth/login

or

http://localhost:8000/auth/login

Default credentials for login is:

Admin:
    - email: [email protected]
    - password: password
Writer:
    - email: [email protected]
    - password: password

For deployment option please refer to laravel documentation about configuration either in .env file or not

Role and Permission

Microblog have only two role, admin and writer. Role admin has all access to site and resources while writer has only access to manage his posts and view other users posts, view list of categories data, messaging to other, and update his profile.

Permission admin writer
View dashboard page
View all categories
Create new category
Edit category
Delete category
Export category to excel
View all post
Create new post
Edit post (owned post)
Delete post (owned post)
Export posts to excel
Edit other users posts
Delete other users posts
Compose and read a message to other users
Delete all messages
Update Profile
View all categories
Create new user
Edit user
Delete user
Export user to excel
View and update setting

For the role and permission logical and management, microblog using builtin laravel feature named Gate and Policies, feel free to check official laravel documentation about both of Gate and Policies.

Usefull Links

Contacts

Email [email protected]
Telegram @kadangsukakoding