Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A clean, powerful, and customizable open-source blog platform — built with performance and developer happiness in mind.

License

Notifications You must be signed in to change notification settings

Uryzen317/zigma-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

📝 Zigma Blog (a.k.a. Darmannyar)

A clean, powerful, and customizable open-source blog platform — built with performance and developer happiness in mind.

Ansible


📍 Live site: darmannyar.com
📦 Repository: github.com/Uryzen317/zigma-blog

📝 The project was originally developed under the name Zigma Blog, but launched under the final name Darmannyar during the final stages.


🛠 Tech Stack

Zigma Blog is crafted with love using the following technologies:

Category Stack
🌐 Frontend Next.js, Zustand, React, TypeScript
🎨 Styling Tailwind CSS
🔧 Backend NestJS, Node.js
🗃 Database MongoDB, Redis
🔄 CI/CD Ansible
🛡 Auth Custom Cookie-Based auth

📁 Repository Structure

This monorepo is split into two main branches:

  • client — Frontend source code (Next.js)
  • server — Backend source code (NestJS)

🚀 Getting Started

🖥️ Client (Frontend)

To run the frontend locally:

npm run start:dev

⚠️ Note for production (CI/CD):
Make sure to rename public-env.prod.ts to public-env.ts during the build pipeline.


🧠 Server (Backend)

To run the backend locally:

  1. Copy the .env.example file to a new .env file:

    cp .env.example .env
    
  2. Update the .env file with the appropriate environment variables for your local setup.

  3. Then, run the server:

npm run start:dev

⚠️ Note for production (CI/CD):
Ensure that the .env file is properly set up on your production environment with the necessary credentials and variables.


🔧 Deployment Automation with Ansible

This project supports automated deployment using Ansible.
All related configurations and playbooks are located in the ansible branch.

🚀 Quickstart Guide

  1. Switch to the Ansible branch:

    git checkout ansible
  2. Configure your inventory:

    • Copy the example file:
      cp inventory.ini.example inventory.ini
    • Edit inventory.ini with your server's IP/hostname and SSH config.
      ⚠️ Do not commit this file – it's already listed in .gitignore.
  3. Update variable files:

    • Open the files in the vars/ directory and customize them for your environment (e.g., service names, deployment paths, or other settings).
  4. Run the playbook:

    ansible-playbook -i inventory.ini playbooks/deploy.yml

This will:

  • Build the app on your local machine
  • Upload production files to your server
  • Install dependencies
  • Restart the service

Everything with one command, under your full control.


📸 Screenshots

🏠 Homepage

Homepage Screenshot

📝 Post View

Post View Screenshot

📝 Login Page

Login Page Screenshot


📄 License

This project is licensed under the Apache License 2.0.
See LICENSE for full license text.


🤝 Contributing

Pull requests are welcome!
For major changes, please open an issue first to discuss what you'd like to propose.


🌐 Author

Developed by Uyzen317


About

A clean, powerful, and customizable open-source blog platform — built with performance and developer happiness in mind.

Topics

Resources

License

Stars

Watchers

Forks