Welcome to Blog Application β a sleek, modern, and fully-featured blogging platform built with:
Explore seamless navigation, robust state management, and responsive design for modern blogging needs. π
- π Live Demo
- π Features
- π° RSS Feed
- π§βπ» Development Setup
- π§ͺ Testing
- ποΈ Build
- π ESLint
- π¨ Prettier
- π‘οΈ Code Quality
- π Deployment
- π οΈ Used Technologies
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!
- π 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.
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:
-
English Feed:
Subscribe to the English feed to receive updates on the newest posts directly in your RSS reader.
https://suaybsimsek.com/en/rss.xml -
Turkish Feed:
For Turkish content, use the Turkish RSS feed to stay informed about all the latest posts.
https://suaybsimsek.com/tr/rss.xml
Simply add these links to your favorite RSS reader or news aggregator, and enjoy a seamless reading experience!
Below is a quick preview of the Blog Application:
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
To run the tests and ensure the application is functioning correctly:
npm test
To build the application for production:
npm run build
To check the JavaScript and TypeScript code style using ESLint, execute:
npm run lint
To automatically fix linting issues, execute:
npm run lint:fix
To format the code using Prettier, execute:
npm run prettier:format
To assess code quality locally using SonarQube, execute:
npm run sonar
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.
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.