Skip to content

Lester-Fong/AI-FE-EXAM

Repository files navigation

Publish-Article

A role-based content management system built to facilitate writing and editing articles within a company structure. The project includes two roles: Writer and Editor. Writers are responsible for drafting articles, while Editors can review, edit, and publish or hide them. Editors also manage users and company details.

Features

  • Role-based Application: Roles include Writer and Editor, with access control for creating, editing, and publishing articles.
  • Article Management: Writers create and edit articles; Editors finalize and publish articles.
  • User and Company Management: Editors can create and manage user profiles and company information.
  • Authentication & Authorization: Secure login and role-based access control.
  • Published Articles Display: Publicly display all published articles.

Usage

  • Writer Role: Write and submit articles for review within a specific company context.
  • Editor Role: Review, edit, and decide on publishing or hiding articles, along with managing user and company details.

Getting Started

Follow these steps to set up and run the project locally.

Prerequisites

Make sure you have the following installed:

  • Node.js and npm
  • PHP and Composer
  • MySQL or your preferred database

Installation

  1. Clone the Project

    git clone https://github.com/Lester-Fong/AI-FE-EXAM.git
  2. Install packages

     npm run watch
     composer install
  3. Create a database name publish-article

  4. migrate the tables and execute the seeders

    php artisan migrate --seed
  5. Generate Authentication key

    php artisan passport:client --password

    Note: Copy the secret key generate by the command and paste it to HelperToken.php $user_client_secret variable.

  6. Set up Apache virtualhost on Windows
    **~ Kindly follow the guide in this link ~**
    Virtual Host Setup

  7. Run the Project Locally

    npm run watch



These are the Credentials that is generated after you seed the database:

For writer:
email: [email protected],
password: Article_writer_123
For editor:
email: [email protected],
password: Article_editor_123



Note: If you have any questions regarding setting up or running the project, you can reach out to me and I will be happy to guide you. Thanks!



Acknowledgments

This project was made possible with the following tools and technologies:

Vue3 - Frontend JavaScript framework
Vuex - State management library for Vue.js
Rebing GraphQL - GraphQL integration with Laravel
Laravel 8 - Backend PHP framework
Bootstrap - Responsive CSS framework
VueSweetAlert2 - SweetAlert2 integration for Vue
VueDatePicker - Custom date picker component for Vue
DataTable - JavaScript library for dynamic tables
Summernote - WYSIWYG editor for article content creation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published