Codebase Maintainability Analyzer
Project description
Maintainability 🧠🔍
🌟 Introduction
Welcome to a new era of AI code analysis. Unlike traditional rule-based systems, this Python-based tool uses Language Models for a nuanced understanding of your codebase. Improve maintainability, readability, and overall code health without the rigid constraints of traditional systems.
🚀 Table of Contents
🌈 Features
- Adaptive Code Analysis: Leverage OpenAI's language models for a comprehensive review.
- User Authentication: Secure role-based access.
- Metrics Storage: All analysis results are securely stored in Supabase.
- API Key Management: Generate and manage API keys for your team.
- Real-time Analytics: A React-based front-end for all your metrics.
📚 Backend Overview
Intent and High-Level Workflow
The pulse of this tool is its Python-based backend. Not only does it analyze your code, but it also takes care of user authentication, metrics storage, and much more. Here's a sneak peek into what happens under the hood:
- User Authentication: As you log in, your credentials are securely verified.
- Code Repository Analysis: Next, we sift through your code repositories. Don't worry; files you wish to exclude are respected.
- Code Maintainability Analysis: This is where the magic happens. OpenAI's language models gauge the quality of your code.
- Metrics Storage: All the data is then sent for safe-keeping into a Supabase database.
File Groups Analysis
The backend is neatly divided into modules, each responsible for a different aspect of the system. From handling HTTP routes to logging, everything has its place.
Database Interactions (io_operations.py
)
This part of the system is your liaison to the Supabase database. It takes care of metrics storage, user and API key management.
Logging (logger.py
)
Every action is logged, ensuring complete transparency and aiding in debugging.
HTTP Routes (routes.py
and routes_helper.py
)
Whether you're interacting via the web front-end or making an API call, these routes serve as the gateway to the system's functionality.
CLI (file_operations.py
and main.py
)
Batch processing your repositories or integrating into your CI/CD pipeline? The CLI has got you covered.
🎨 Frontend Overview
Backend Communication
The React-based front-end is your window to the tool's analytical capabilities. Using Axios, it communicates with the backend for everything from user authentication to metrics retrieval.
Routing and State Management
We use React Router for client-side routing and manage global state through AppContext.js
.
Styling
The UI is crafted with inline React styling complemented by Material UI components, making it sleek and user-friendly.
Deployment
The application is ready for deployment with configurations specified in vercel.json
.
🤝 Team
- Jamie Voynow
- Possibly You?
👩🚀 Contributing
We welcome contributions from everyone! Reach out to me on twitter @jamievoynow
📜 License
This project is licensed under the MIT License. See LICENSE for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file maintainability-0.4.1.tar.gz
.
File metadata
- Download URL: maintainability-0.4.1.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d0770fbf6e9422208966c8c6ed6a5eb133ebdeded1de3f9305cbf1119758b45 |
|
MD5 | b29d3e5334dea09b69e4320ab15785bc |
|
BLAKE2b-256 | b82e57c700eace5adac0c718ba60de901042b6b0e02affc90490c89974e54af2 |
File details
Details for the file maintainability-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: maintainability-0.4.1-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56657dadc2c5178bb4d28e5af443654b9066eb46cb1cb3c78fb74dbff9f002d8 |
|
MD5 | b90f18f642980cb9b170b7d1e00c6c73 |
|
BLAKE2b-256 | bf94fe0b712a7bf9597808457f37453e703c076ed93430b72e6317eb500bee45 |