Skip to content

dineshstack/dineshstack.com

Repository files navigation

Dinesh Stack Blog - Modern Laravel Blog System

A cutting-edge blog application built with Laravel 12, Inertia.js, React, and Tailwind CSS. Features complete CRUD operations, SPA experience, and modern development practices.

🚀 Features

  • Single Page Application - Seamless navigation with Inertia.js & React
  • User Authentication - Laravel Sanctum API authentication
  • Blog CRUD Operations - Create, Read, Update, Delete blog posts
  • Admin Dashboard - Full administrative control with real-time UI
  • Rich Text Editor - WYSIWYG editor with React components
  • Image Upload - Drag & drop image uploads with preview
  • Categories & Tags - Organize content with React select components
  • SEO Optimization - Dynamic meta tags and SEO-friendly URLs
  • Fully Responsive - Mobile-first design with Tailwind CSS
  • Comment System - Real-time comments with React components
  • Advanced Search - Client-side and server-side search
  • API Ready - Fully functional REST API with Sanctum

🛠️ Modern Tech Stack

Backend

  • Laravel 12 - Latest PHP framework
  • Laravel Sanctum - API authentication
  • PHP 8.3+ - Modern PHP features
  • MySQL 8.0+ - Database

Frontend

  • React 19 - Modern React with hooks
  • Inertia.js - Server-side routing for SPAs
  • Tailwind CSS v4 - Utility-first CSS framework
  • TypeScript v5 - Optional type safety
  • Headless UI - Unstyled, accessible UI components

Development & Deployment

  • Vite - Next-generation frontend tooling
  • Laravel Sail - Docker development environment
  • VPS with Nginx - Production deployment

📋 Prerequisites

  • PHP 8.3 or higher
  • Composer 2.6+
  • Node.js 18+ & NPM 9+
  • MySQL 8.0+

⚡ Quick Start

1. Clone the Repository

git clone https://github.com/dineshstack/dineshstack.com.git
cd dineshstack.com

2. Install Backend Dependencies

composer install

3. Install Frontend Dependencies

npm install

4. Environment Setup

cp .env.example .env
php artisan key:generate

5. Configure Database

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_blog
DB_USERNAME=your_username
DB_PASSWORD=your_password

6. Run Migrations & Seeders

php artisan migrate
php artisan db:seed

7. Build Frontend Assets

npm run build

8. Start Development Servers

# Terminal 1 - Backend
php artisan serve

# Terminal 2 - Frontend (optional for hot reloading)
npm run dev

Visit http://localhost:8000 to see the application.

🚀 Deployment

Production Build

# Optimize Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache

# Build frontend assets
npm run build

# Run migrations
php artisan migrate --force

VPS Deployment Script

#!/bin/bash
echo "🚀 Deploying Dinesh Stack Blog..."

# Pull latest changes
git pull origin main

# Install backend dependencies
composer install --no-dev --optimize-autoloader

# Install frontend dependencies
npm ci

# Build frontend assets
npm run build

# Run migrations
php artisan migrate --force

# Clear caches
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache

echo "✅ Deployment complete!"

📚 Learning Resources

👨‍💻 Author

Dinesh Wijethunga

Support Free Education Content

Buy me a coffee

⭐ Star this repository if you find it helpful!
Built by-DineshStack-blue

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published