Skip to content

susimsek/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Blog Application

CircleCI Quality Gate Status Coverage Top Language

Welcome to Blog Application – a sleek, modern, and fully-featured blogging platform built with:

Next.js
React-Bootstrap
TypeScript

Explore seamless navigation, robust state management, and responsive design for modern blogging needs. πŸš€

πŸš€ Quick Links

🌐 Live Demo

You can explore the live version of the blog application at https://suaybsimsek.com.

Enjoy reading blog posts and experience seamless navigation between different sections of the site!

Introduction

πŸ“– Features

  • πŸŒ— Theme Switching: Light and dark modes for a seamless user experience.
  • 🌍 Multilingual Support: Available in English and Turkish.
  • πŸ“± Responsive Design: Optimized for all devices.
  • βœ… High Test Coverage: Ensures reliability with comprehensive unit tests.
  • πŸ“ Markdown Rendering: Write your posts in Markdown.
  • πŸ› οΈ Redux Integration: Powerful state management.
  • πŸ“° RSS Support: Automatically generates and updates an RSS feed for your blog posts.
  • ✍️ Medium Integration: Displays your latest Medium posts with smart caching.
  • 🎨 Code Style Enforcements: With Prettier and ESLint.
  • πŸ” SonarQube Integration: Continuous code quality monitoring.

πŸ“° RSS Feed

Stay updated with the latest blog posts via our RSS feeds. We offer separate feeds for English and Turkish content so you can follow your preferred language:

Simply add these links to your favorite RSS reader or news aggregator, and enjoy a seamless reading experience!

πŸŽ₯ Demo Preview

Below is a quick preview of the Blog Application:

Blog Application Preview

πŸ§‘β€πŸ’» Development Setup

To clone and run this application locally:

# Clone the repository
git clone https://github.com/susimsek/blog.git

# Navigate to the project directory
cd blog

# Install dependencies
npm install

# Start the development server
npm run dev

# Open the application in your browser
http://localhost:3000

πŸ§ͺ Testing

To run the tests and ensure the application is functioning correctly:

npm test

πŸ—οΈ Build

To build the application for production:

npm run build

πŸ“ ESLint

To check the JavaScript and TypeScript code style using ESLint, execute:

npm run lint

To automatically fix linting issues, execute:

npm run lint:fix

🎨 Prettier

To format the code using Prettier, execute:

npm run prettier:format

πŸ›‘οΈ Code Quality

To assess code quality locally using SonarQube, execute:

npm run sonar

πŸš€ Deployment

Docker Compose Deployment

To deploy the application using Docker Compose, run the following command:

docker-compose -f deploy/docker-compose/docker-compose.yml up -d

To stop and remove the Docker Compose deployment:

docker-compose -f deploy/docker-compose/docker-compose.yml down

You can access the blog directly at http://localhost.

Kubernetes Deployment using Helm

To deploy the application on Kubernetes using Helm, run the following command:

helm install blog deploy/helm/blog

To uninstall the Helm deployment:

helm uninstall blog

You can access the blog directly at http://blog.local.

This will deploy the Blog Application on your Kubernetes cluster using the Helm chart located at deploy/helm/blog.

In values.yaml, ensure the following configuration is set for Ingress, with an appropriate ingress class name (e.g., nginx, traefik, or another available option):

ingress:
  ingressClassName: 'nginx'

Additionally, to ensure proper local access, add the following entry to your hosts file:

On Linux/macOS:

sudo nano /etc/hosts

Add this line:

127.0.0.1 blog.local

Save and exit.

On Windows:

Edit the file:

C:\Windows\System32\drivers\etc\hosts

Add this line:

127.0.0.1 blog.local

Save and restart your browser.

πŸ› οΈ Used Technologies

Node.js
CircleCI
React
Next.js
Next.js Third Parties
TypeScript
RSS
RSS Parser
ESLint
Prettier
SonarQube
Docker
Kubernetes
Helm
Jest
Husky
Redux
Next i18next
Bootstrap
Font Awesome
Sass
Gray Matter
React Markdown
React Datepicker
Date-fns

About

Blog Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •