Skip to main content

Codebase Maintainability Analyzer

Project description

Maintainability 🧠🔍

Build Status Version 1.0 MIT License Last Commit

🌟 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:

  1. User Authentication: As you log in, your credentials are securely verified.
  2. Code Repository Analysis: Next, we sift through your code repositories. Don't worry; files you wish to exclude are respected.
  3. Code Maintainability Analysis: This is where the magic happens. OpenAI's language models gauge the quality of your code.
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maintainability-0.4.1.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

maintainability-0.4.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

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

Hashes for maintainability-0.4.1.tar.gz
Algorithm Hash digest
SHA256 3d0770fbf6e9422208966c8c6ed6a5eb133ebdeded1de3f9305cbf1119758b45
MD5 b29d3e5334dea09b69e4320ab15785bc
BLAKE2b-256 b82e57c700eace5adac0c718ba60de901042b6b0e02affc90490c89974e54af2

See more details on using hashes here.

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

Hashes for maintainability-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 56657dadc2c5178bb4d28e5af443654b9066eb46cb1cb3c78fb74dbff9f002d8
MD5 b90f18f642980cb9b170b7d1e00c6c73
BLAKE2b-256 bf94fe0b712a7bf9597808457f37453e703c076ed93430b72e6317eb500bee45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page