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

Uploaded Source

Built Distribution

maintainability-0.4.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: maintainability-0.4.0.tar.gz
  • Upload date:
  • Size: 14.4 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.0.tar.gz
Algorithm Hash digest
SHA256 7d5b03a088cfbb06d3339e070eafd747a2ccfae1264adc04e51ac28a13dca5be
MD5 1180f0cfe22db397b07192e60acbda52
BLAKE2b-256 9c58d2660a9ab7282f745ac74fd473033dd164e68627b1436cb1e37cfedec10f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: maintainability-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 848e2b55cf071c8db9cca8b3b95229652150f1c35cbfc51854a387ca809e70d2
MD5 2992b79de9537b743a43a3ef7ef7e839
BLAKE2b-256 941c3eca409f482be7a288560c0ddf2801928f2a9f2e92e8364f95ffc76ba2ce

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