LearnUP is a platform designed to share knowledge through PDF files and blog posts. It provides an intuitive and collaborative environment to facilitate learning.
- ✅ Create and edit blog posts using Quill.js Editor
- ✅ Upload and attach PDF files to posts
- ✅ Preview PDF files using PDF.js
- ✅ Like/unlike posts (toggle system)
- ✅ Comment and reply to posts with notifications
- ✅ Elegant UI with TailwindCSS
- ✅ Approve or reject user posts
- ✅ View statistics including:
- Number of users, posts, likes, and comments
- Active users (writers, admins, and regular users)
- Log history
- ✅ Manage user roles (User, Writer, Admin)
- ✅ Remove inappropriate posts and comments
- ✅ Dashboard notification system
- ✅ Activity logs tracking (Login, Post Creation, Comments, Likes)
- ✅ Notify Admin when a new post is awaiting approval
- ✅ Notify Users when their post is approved/rejected
- ✅ Notify Users when someone likes or comments on their post
| Component | Technology |
|---|---|
| Backend | Laravel (Latest) |
| Frontend | Blade + TailwindCSS |
| Database | MySQL |
| Editor | Quill.js |
| File Storage | Laravel Storage (Local) |
| PDF Preview | PDF.js / iframe |
| Authentication | Laravel Custom Auth |
| Graph & Analytics | Chart.js |
| Role | Capabilities |
|---|---|
| User | Create posts (requires approval), Upload PDFs, Comment |
| Writer | Directly post without approval, Upload PDFs, Comment |
| Admin | Approve/reject posts, View statistics, Manage users, Monitor logs |
- Total posts, users, writers, admins, and logs
- Line charts for post creation, comments, and registrations (Last 7 Days)
- Bar charts for logs categorized by actions (login, create, comment, etc.)
📌 User
- Login → Dashboard
- Create a post + Upload PDFs
- Wait for approval (Admin Notification triggered)
- If approved, post is published
📌 Writer
- Login → Dashboard
- Create a post + Upload PDFs
- Post goes live instantly
📌 Admin
- Login → Dashboard
- Approve/reject posts
- Monitor statistics and logs
- Manage user roles and content
- TailwindCSS for styling
- Green theme inspired by Kasetsart University
- Motivational learning quotes on the homepage
- All interactions log events (Login, Logout, Post, Comment, Like)
- Persistent login enabled (Users don’t need to log in frequently)
- Likes are recorded in
user_id, post_id(toggle like/unlike)
Ensure you have the following installed on your system:
- PHP 8.x
- Composer
- MySQL
- Node.js & npm
-
Clone the Repository
git clone https://github.com/your-repo/learnup.git cd learnup -
Install Dependencies
composer install npm install
-
Configure Environment
cp .env.example .env php artisan key:generate
- Update
.envwith database credentials.
- Update
-
Migrate Database & Link Local Storage
php artisan migrate --seed php artisan storage:link
-
Build Assets
npm run build
-
Start the Development Server
php artisan serve
The application should now be running at
http://127.0.0.1:8000.
Start sharing knowledge with LearnUP today!
✨ Built to make knowledge sharing easier and more efficient!