Feature Branches - agoenks29D/exzly GitHub Wiki
🌿 Feature Branches
Exzly adopts a modular architecture using Git branches to separate optional features.
Each branch contains a self-contained module that can be merged into the main project only when needed.
This approach helps keep the base project lightweight, clean, and customizable.
🧩 Need a blog module? Just checkout
feature/blog
and merge it into your project.🎯 Need push notifications? Switch to
feature/push-notification
, test it, and merge if needed.
🔍 How It Works
Feature branches are developed separately and contain isolated code for each specific feature.
Each branch:
- Has minimal or no impact on other modules.
- Can be merged independently into your current working branch.
- May introduce new
.env
variables or dependencies (check README or diff).
🛠️ Feature Branches
Public Branches
Branch Name | Description | Status |
---|---|---|
feature/websocket |
Initializes basic Socket.IO integration. Suitable for real-time features. | ✅ Ready |
feature/oauth |
Google & Facebook OAuth login | ✅ Ready |
feature/visitor-statistic |
Adds visitor logging, IP tracking, and dashboard analytics. | ⏳ In Progress |
feature/blog |
Blogging module (articles, tags, etc.) | ⏳ In Progress |
feature/product |
Product catalog system with categories, images, and availability tracking. | ⏱️ Planned |
feature/keycloak |
Keycloak integration for enterprise-grade authentication and SSO. | ⏱️ Planned |
feature/multi-language |
Adds i18n support with dynamic language switching and translation fallback. | ⏱️ Planned |
Private Branches
Branch Name | Description | Status |
---|---|---|
feature/service-worker |
Adds custom service worker for PWA support and offline caching | ✅ Ready |
feature/push-notification |
Web push notification system supporting Firebase & Web Push | ✅ Ready |
feature/live-chat |
Real-time live chat system using Socket.IO with session & message handling | ⏳ In Progress |
feature/object-storage |
File upload to object storage like S3, MinIO with public/private access mode | ⏳ In Progress |
feature/user-status |
Adds administrative user status support: active, suspended, banned, etc. | ⏳ In Progress |
feature/user-relationship |
Follow/unfollow system and basic friend suggestion logic | ⏱️ Planned |
feature/user-notification |
In-app notification system with read/unread tracking and push fallback | ⏱️ Planned |
feature/user-direct-message |
Private messaging between users with support for threads and attachments | ⏱️ Planned |
More feature branches will be added over time 🚧
🧪 How to Use a Feature Branch
⚠️ Always commit your changes before switching branches to avoid losing work.
# Step 1: Checkout the base branch you want to start from
git checkout main
# Step 2: Fetch the desired feature branch
git fetch origin feature/blog
# Step 3: Merge the feature into your current branch
git merge origin/feature/blog