Skip to content

Drakeze/Blog

Repository files navigation

Blog Application

A modern blog application built with Next.js 15, TypeScript, and Tailwind CSS.

Prerequisites

Before running this application, make sure you have the following installed:

  • Node.js (version 18 or higher)
  • Bun (package manager)

Getting Started

  1. Clone the repository (if not already done):

    git clone <your-repository-url>
    cd blog
  2. Install dependencies:

    bun install
  3. Run the development server:

    bun dev
  4. Open your browser and navigate to:

Available Scripts

  • bun dev - Starts the development server with Turbopack
  • bun build - Builds the application for production
  • bun start - Starts the production server
  • bun lint - Runs ESLint to check for code issues (fails on warnings)
  • bun lint:fix - Auto-fixes lint issues where possible
  • bun format / bun format:check - Formats code with Prettier or checks formatting
  • bun type-check - Runs TypeScript checks without emitting files
  • bun validate - Runs lint, format check, and type-check together
  • bun ci - Runs lint, type-check, tests, and build in CI order

Automation & Quality Gates

  • Husky hooks: run bun run prepare (or bunx husky install) after installing dependencies to enable git hooks.
    • pre-commit: lint-staged formatting, ESLint, Prettier check, and type-check.
    • pre-push: runs tests and a production build.
  • Commitlint: enforces Conventional Commits locally and in CI.
  • CI workflow: .github/workflows/ci.yml runs lint, type-check, test, and build on pushes and pull requests using Bun.

Project Structure

blog/
├── src/
│   ├── app/
│   │   ├── about/          # About page
│   │   ├── blog/           # Blog listing and individual posts
│   │   ├── contact/        # Contact page
│   │   ├── globals.css     # Global styles
│   │   ├── layout.tsx      # Root layout
│   │   └── page.tsx        # Homepage
│   └── components/
│       ├── Header.tsx      # Navigation header
│       └── Footer.tsx      # Site footer
├── public/                 # Static assets
└── package.json           # Dependencies and scripts

Features

  • 📱 Responsive design
  • 🔍 Blog search and filtering
  • 📄 Dynamic blog post pages
  • 📧 Contact form
  • 🎨 Modern UI with Tailwind CSS
  • ⚡ Fast development with Turbopack

Tech Stack

  • Framework: Next.js 15
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Linting: ESLint

Development

The application uses Next.js App Router and includes:

  • Homepage with hero section and featured posts
  • Blog listing page with search and pagination
  • Individual blog post pages with dynamic routing
  • About and Contact pages
  • Responsive navigation and footer

Deployment

This application can be deployed on platforms like:

For production deployment, run:

bun build
bun start

Contributing

Feel free to submit issues and enhancement requests!

License

This project is open source and available under the MIT License.

About

Practice Blog Post

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •