Maxun is an open-source, no-code web data extraction platform designed to convert websites into APIs and spreadsheets using automated robots. Developed in TypeScript, it simplifies web scraping with features like pagination handling, scheduled runs, and Google Sheets integration. The project is currently in beta, gaining substantial community traction with over 5,000 stars on GitHub. Despite its early stage, Maxun shows robust development activity and community engagement, indicating a positive trajectory towards feature expansion and user experience enhancement.
develop
, add-capturelist-ui
, console-cleanup
.add-limit
, robot-duplication
, proxie-rotation
.Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 7 | 5 | 11 | 2 | 1 |
30 Days | 60 | 23 | 77 | 6 | 1 |
90 Days | 64 | 24 | 80 | 6 | 1 |
All Time | 65 | 24 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
None (RohitR311) | 9 | 5/6/0 | 44 | 22 | 4625 | |
Karishma Shukla | 12 | 11/9/0 | 108 | 34 | 1764 | |
Amit Chauhan (AmitChauhan63390) | 2 | 5/4/1 | 5 | 4 | 376 | |
Naveen (naveenpan09) | 2 | 1/1/0 | 4 | 2 | 12 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 3 | The project faces a moderate delivery risk due to a persistent issue backlog, with more issues being opened than closed over the past 90 days. High-priority bugs like #183 and #155 remain unresolved, posing potential risks to delivery timelines. The lack of effective milestone usage further exacerbates this risk by hindering long-term planning and progress tracking. |
Velocity | 3 | While there is active development with significant commit activity from key contributors like Karishma Shukla, the presence of multiple draft and work-in-progress pull requests suggests potential bottlenecks in finalizing contributions. The issue backlog and feature overload could also impact velocity as resources are stretched thin across numerous tasks. |
Dependency | 2 | The project mitigates dependency risks through the use of stable technologies like Docker Compose, Node.js, PostgreSQL, MinIO, and Redis. However, the reliance on several environment variables for setup could complicate deployment if not well-documented or managed. |
Team | 3 | There is a disparity in developer contributions, with Karishma Shukla leading significantly. This uneven workload distribution may indicate potential team dynamics issues or coordination challenges. Additionally, the high volume of changes by a few developers raises concerns about burnout and resource allocation. |
Code Quality | 3 | The high volume of changes and rapid merging of pull requests suggest potential risks to code quality. While TypeScript provides type safety, unresolved TODOs and large methods in critical components like Generator.ts indicate areas where code quality could be compromised if not addressed. |
Technical Debt | 4 | The presence of unresolved TODOs, large methods needing refactoring, and recurring issues such as setup difficulties highlight significant technical debt. These issues could hinder maintainability and increase the likelihood of bugs if not resolved promptly. |
Test Coverage | 4 | Test coverage is not explicitly mentioned in critical files like Generator.ts , raising concerns about whether these components are adequately tested. Given the complexity of the workflow generation logic, comprehensive testing is essential to ensure reliability and robustness. |
Error Handling | 4 | Error handling is minimal in key components such as RecordingsTable.tsx and Generator.ts , which could lead to unhandled exceptions affecting user experience and system stability. Enhancing these mechanisms is crucial to mitigate risks related to error handling. |
Recent GitHub issue activity for the Maxun project shows a consistent flow of new issues being created, with a mix of feature requests, bug reports, and enhancements. There is a notable focus on expanding functionality, such as internationalization (#184) and various integrations (#86, #89). However, there are also several high-priority bugs that need attention, like the go-to
action not storing user actions (#183).
A significant anomaly is the recurring theme of setup and configuration issues, particularly with Docker and environment variables, as seen in issues #155 and #111. These issues suggest potential gaps in documentation or setup guides that could hinder new users. Another point of concern is the high-priority bug #183, which is tagged for the next release but remains unresolved. This indicates a critical functionality issue that might impact user experience if not addressed promptly.
#188: Feature: Search Robots & Runs
#184: Feature: Internationalization
#183: Bug: Performing go-to
action does not store user performed actions
#183: Bug: Performing go-to
action does not store user performed actions
#159: Feat: allow inputs
#192: feat: auto-extract data
#173: feat: publish docker image
.dockerignore
file and some syntax fixes.#169: feat: improve extraction [wip]
#154: fix: worker errors on start
ts-node
for executing TypeScript files.#148: feat: dark theme support
#147: chore: release v0.0.2
#140: DB installation guide added (for macOS users)
#191: feat: display robot limit in robot settings
#187: feat: better nested elements capture in capture list
#186 & #185: Notification and Console Cleanup
#181 & #179: Robot Duplication and Edit Features
#178: feat: register and login forms redesign
#176 & #172: Notifications and Documentation Updates
#170 & #166: Fixes for Remote Browser Rendering and UI Style Consistency
The Maxun project shows active development with a focus on enhancing features, fixing bugs, and improving documentation. The open pull requests indicate ongoing work on significant features like auto-extraction, Docker setup, and UI enhancements. Closed pull requests highlight successful integrations of new features like search functionality, robot management improvements, and interface redesigns that contribute to the overall robustness of the platform. Attention should be given to completing documentation updates (#140) and resolving any pending issues in open PRs to ensure smooth progress towards future releases.
src/components/molecules/RecordingsTable.tsx
RecordingsTable
component is well-structured, using hooks like useState
and useEffect
to manage state and side effects.useGlobalInfoStore
suggests a global state management strategy, possibly using context or a similar pattern.fetchRecordings
function. Error handling could be improved by providing user feedback in case of failures.InterpretButton
, ScheduleButton
, etc., encapsulate specific functionalities.filteredRows
if performance becomes an issue with large datasets.src/components/molecules/RunsTable.tsx
RecordingsTable
, this component is structured using hooks for state management and side effects.robotMetaId
, which is a good approach for displaying related runs together. This enhances the user experience by organizing information logically.Accordion
for collapsible sections, which is suitable for displaying grouped data.useGlobalInfoStore
) suggests shared state management across components.RecordingsTable
and RunsTable
into reusable hooks or utility functions to reduce code duplication.server/src/workflow-management/classes/Generator.ts
WorkflowGenerator
class is extensive, encapsulating complex logic for workflow generation based on user interactions.server/src/workflow-management/selector.ts
@medv/finder
). This is crucial for accurate element targeting in workflows.src/components/molecules/RobotSettings.tsx
RobotSettingsModal
) that displays robot settings information in a read-only format.Overall, the codebase demonstrates good practices in TypeScript usage, component structuring, and UI design with Material-UI. There are opportunities for optimization through code refactoring, enhanced error handling, and improved documentation.
develop
, add-capturelist-ui
, console-cleanup
, and worker-exit
.add-limit
, robot-duplication
, proxie-rotation
, and docker-img
.develop
with significant changes in authentication routes.Active Development: The project is under active development with frequent commits from key contributors like Karishma Shukla and RohitR311. There is a focus on enhancing features related to data extraction capabilities, user interface improvements, and backend optimizations.
Collaboration: There is strong collaboration among team members, particularly between Karishma Shukla and RohitR311. They have worked together on various features across multiple branches.
Feature Expansion: Recent activities indicate a push towards expanding the platform's functionality, including improved search capabilities, better handling of nested elements, enhanced user input capture, and robot duplication features.
Code Maintenance: Regular code maintenance activities such as linting, console cleanup, and resolving merge conflicts are evident. This suggests a focus on maintaining code quality alongside feature development.
Branch Activity: The project has a high number of active branches (17 recently active), indicating parallel development efforts on different features or fixes.
Overall, the Maxun project is progressing rapidly with a clear emphasis on feature enhancement, code quality maintenance, and collaborative development practices.