Skip to content

A modern configuration management platform with format flexibility and version control

Notifications You must be signed in to change notification settings

nipuna-perera/conflux

Repository files navigation

Conflux

A modern configuration management platform with format flexibility and version control, built with Go backend and SvelteKit frontend.

Overview

Conflux is a comprehensive configuration management solution that allows you to manage configuration files across multiple formats (YAML, JSON, TOML, ENV) with built-in version control, template support, and format conversion capabilities.

Architecture

  • Backend: Go with clean architecture (cmd/internal structure)
  • Frontend: SvelteKit with TypeScript
  • Database: Support for both MySQL and PostgreSQL
  • Authentication: JWT-based authentication
  • Containerization: Docker and Docker Compose ready

Project Structure

├── backend/              # Go backend application
│   ├── cmd/             # Application entry points
│   ├── internal/        # Private application code
│   └── pkg/             # Public packages
├── frontend/            # SvelteKit frontend application
│   └── src/             # Source code
├── scripts/             # Development scripts
└── docker-compose.yml   # Container orchestration

Quick Start

  1. Setup environment:

    chmod +x scripts/setup.sh
    ./scripts/setup.sh
  2. Start development environment:

    make dev
  3. Access the application:

Development Commands

  • make dev - Start full development environment
  • make backend-dev - Run backend only
  • make frontend-dev - Run frontend only
  • make test - Run all tests
  • make migrate - Run database migrations
  • make clean - Clean up containers and volumes

Environment Configuration

Copy .env.example to .env and configure your environment variables:

cp .env.example .env

Database Support

The application supports both MySQL and PostgreSQL. Configure the database type in your environment variables:

  • Set DB_TYPE=mysql for MySQL
  • Set DB_TYPE=postgres for PostgreSQL

API Documentation

The REST API provides the following endpoints:

  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration
  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

This project is licensed under the MIT License.

About

A modern configuration management platform with format flexibility and version control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •