Configuration Management is a FastAPI application designed to manage and retrieve configuration files efficiently. It utilizes Pydantic for data validation and settings management, ensuring a robust and scalable solution for handling application configurations.
- RESTful API: Easily access configuration data through well-defined endpoints.
- React Frontend: Intuitive user interface for managing configurations.
- Environment Variable Management: Securely manage sensitive information using environment variables.
- Logging: Comprehensive logging to track application behavior and issues.
- Flexible Configuration: Use Pydantic models to define and validate configurations dynamically.
- Python 3.7+ for the backend
- Node.js and npm for the frontend
- Virtual Environment (recommended) for Python dependencies
- Dependencies listed in
requirements.txt
for the backend
-
Clone the repository:
git clone https://github.com/virtualansoftware/config-mgmt.git cd config-mgmt
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up your environment variables in a
.env
file:STORAGE_BUCKET_NAME=your_bucket_name AWS_ACCESS_KEY=your_access_key AWS_SECRET_KEY=your_secret_key API_KEY=your_api_key CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret OAUTH_TOKEN_URL=your_oauth_token_url GITHUB_REPO_NAME=your_github_repo_name GITHUB_TOKEN=your_github_token GITHUB_HOST_URL=your_github_host_url BRANCH=your_branch COLUMNS=your_columns
To start the application, use the following command:
uvicorn main:app --reload
Or, if you are using Windows, you can run the application with:
python -m uvicorn main:app --reload
Your backend application will be running at http://localhost:8000
.
-
Navigate to the frontend directory:
cd frontend
-
Install the required packages:
npm install
To start the frontend application, use the following command:
npm run dev
Your frontend application will be running at http://localhost:5173
.
API endpoints can be accessed via Swagger UI at http://localhost:8000/docs
.
We welcome contributions! Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
- Thanks to the FastAPI and Pydantic communities for their excellent documentation and support.
- Thanks to the React community for providing a powerful library for building user interfaces.