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.2.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

maintainability-0.4.2-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file maintainability-0.4.2.tar.gz.

File metadata

  • Download URL: maintainability-0.4.2.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.12.0 Linux/6.2.0-1015-azure

File hashes

Hashes for maintainability-0.4.2.tar.gz
Algorithm Hash digest
SHA256 0fac09cb5363e66a5533bf68b5fa7264ebebcaf1f8ef18d8f4f599fb6f9110a0
MD5 9088e69118e91f7a9652b204a74623bf
BLAKE2b-256 559207c2693eedc1193db607b215df5808f85e948e41f7e0a67ed7635b5b3b35

See more details on using hashes here.

File details

Details for the file maintainability-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: maintainability-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.12.0 Linux/6.2.0-1015-azure

File hashes

Hashes for maintainability-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b0b7bd745e43d673208adf070fe1ebd7e7105ecfa3a14f5fc4dbe88be0b8144
MD5 a290824d958bf75ed9c88938fa06a8cf
BLAKE2b-256 efbfe29c2f91bc53d9cb4da67008150b92dc527289b9351e023562a689b055fb

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