Skip to content

Addons and Developers Portal #59

@mnesarco

Description

@mnesarco

Proposal description

A big part of the FreeCAD Ecosystem lives in Addons developed by external contributors. Over time, Addons have been adding impressive capabilities to FreeCAD but unfortunately there is no dedicated web portal where Users and Developers of addons can discover and rate such Extensions. Also a dedicated developers portal can give accurate and updated information to Addon developers to keep its Addons compatible and reasonable well structured.

This proposal is to develop an Addons and Developers Portal where users and developers can discover Addons, learn about Addon ecosystem, Addon development, etc.. and also see important statistics like number of downloads, likes, and quality points based on static analysis of the published code. Also the proposed backend system manages all the publishing process of the addons adding automated analysis and QA assesments, so the AddonManager can focus on downloading and installing the curated Addons and its dependencies in the user's local environment.

Similar sites that inspire this idea:

Deliverables

First a general idea of the architecture of the final product:

Image

The project involves several Modules, so there are different ways to split into deliverables, As the scope is wide, I suggest to start with the design stages and reevaluate after that. Trying to estimate everything at this moment feels too unrealistic.

In general a global view of expected big-box deliverables:

  1. Functional specification
    Specify all the use cases to be implemented like Search, Rating, Analysis metrics, authentication, displayed info per addon, organization by developer/group, etc...
  2. Architectural design
    Specify all the technical aspects of the solution, basically a python based backend and reactjs based frontend, everything well containerized with async io for good performance and all the details...
  3. Backend Implemetation, probably can be divided by pipeline component: Fetcher, Extractor, Analyzer, .... plus its infra (docker)
  4. Frontend Implementation: a reactjs app and all its associated infra (docker)

The links supplied as inspiration provides a good expectative of the final visible product (fronend). And the backend expectative is illustrated in the diagram.

Timeline

This is not a tiny project. My estimation is that 6 months may be enough to have the first version working as I cannot work on this on a full time basis. The heavy part will be the backend as it has multiple non trivial modules dealing with external tools like git, log analyzers, static code analyzers, databases, cron jobs, etc... and having good unit tests. If I start in October and excluding December, April may be the goal. Serveral alpha and beta versions can be achieved during February or March.

Risks and mitigation

This is a self-contained project, so the main risk is to underestimate the time and effort required. During the specification and design phases we can have a better estimate and do better risk planning, but overall i feel that 6 months may be ok.

Compensation

Keeping in mind the 6 months estimate I think I can do this for USD$8000. It may be divided into 3 payments: 2k one after specification/design (between 1st and 2nd month). 4k after initial working backend (between 2nd and 4rd month), 2K after frontend (between 4th and 6th month).

After the initial release, based on users feedback we can start a new grant with a new scope.

About you

My name is Frank Martínez.
In forum, discord and in many other communities my nickname is mnesarco

About my experience, I have been working on backend development for at least 20 years, here is my Linkedin profile: https://www.linkedin.com/in/mnesarco/

I have been involved in Telco, Content, ERP, Infrastructure, Crypto, Engineering dealing with data processing, pipeline based systems, code and database optimization, and systems design in general.

I have been contributing to FreeCAD community since 2020 when I started the Marz Workbench for Guitar design, over time I have also contributed other workbenches like Svg Workbench, Channels Addon (Blender bridge), Vars Addon, and the fcapi among others. Also I have contributed a few direct small fixes and features to the FreeCAD Core.

I work on projects like this all the time, from small to medium size companies typically on intranet services, production pipelines and custom engineering software. My typical roles are software architect, technical leader and/or senior developer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    2025 Q3declinedThe FPA voted not to fund this proposal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions