Commit Graph

51 Commits (6f76aaa2244a5af56eabdb9df28305b2afa82d54)

Author SHA1 Message Date
David Montero Crespo 3e77c1a546 feat: add open-source library showcase to Velxio 2.0 landing page and mark subprojects as dirty 2026-03-23 18:56:00 -03:00
David Montero Crespo 5fdeb7fc64 feat: update Velxio 2.0 landing page descriptions for clarity and SEO optimization; mark subprojects as dirty 2026-03-23 18:54:02 -03:00
David Montero Crespo 61b08e7cf2 feat: add Velxio 2.0 release landing page with new features, boards showcase, and community CTAs 2026-03-23 18:47:12 -03:00
David Montero Crespo fb8d437d58 Add SEO landing pages for ESP32-S3, ESP32, Raspberry Pi Pico, and Raspberry Pi 3 simulators
- Created Esp32S3SimulatorPage.tsx with SEO content and FAQ section.
- Created Esp32SimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiPicoSimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiSimulatorPage.tsx with SEO content and FAQ section.
- Each page includes structured data for better search engine visibility.
2026-03-23 18:30:42 -03:00
David Montero Crespo a183818721 feat: update SEO handling across various pages, enhance mobile tab navigation, and improve .gitignore for sensitive files 2026-03-23 17:15:29 -03:00
David Montero Crespo 1c22902c88 feat: add FAQ schema to landing page and update subproject statuses to dirty 2026-03-23 15:12:33 -03:00
David Montero Crespo 22a9681cc4 feat: enhance ESP32 integration tests and update landing page content for clarity
fix: improve session ID handling in Esp32Bridge and update WebSocket close logging
chore: mark subprojects as dirty in QEMU, RP2040, and Wokwi elements libraries
2026-03-23 14:10:39 -03:00
David Montero Crespo 67a7154e87 feat: add GitHub star banner to encourage users to star the project and update landing page content for clarity 2026-03-23 14:02:35 -03:00
David Montero Crespo 2eb6a452a7 feat: update SEO and descriptions for multi-board emulator support across Arduino, ESP32, RP2040, and RISC-V 2026-03-23 13:38:56 -03:00
David Montero Crespo 24cce1174f feat: add Arduino Mega 2560, Arduino, and ATmega328P simulator pages with SEO optimization
- Implemented ArduinoMegaSimulatorPage with detailed specifications, FAQs, and JSON-LD for SEO.
- Created ArduinoSimulatorPage featuring interactive components and a comprehensive FAQ section.
- Developed AtmegaSimulatorPage to simulate ATmega328P with full AVR8 emulation and included relevant FAQs.
- Introduced shared SEOPage.css for consistent styling across all simulator pages.
- Added useSEO utility for managing SEO metadata dynamically across pages.
2026-03-23 13:32:15 -03:00
David Montero Crespo 3b367f747a Add SVG files for Arduino Nano and Arduino Uno boards
- Created arduino-nano.svg with detailed PCB, MCU, pins, and components.
- Created arduino-uno.svg with comprehensive design including USB connector, power jack, and pin headers.
2026-03-23 12:19:25 -03:00
David Montero Crespo d35ad2d2f7 Refactor code structure for improved readability and maintainability 2026-03-16 18:31:46 -03:00
David Montero Crespo 16164372cf feat: replace code snippets with CodeBlock component for improved formatting in documentation 2026-03-16 14:44:06 -03:00
David Montero Crespo e8006594d3 feat: import CodeBlock component in DocsPage for enhanced documentation 2026-03-16 14:39:54 -03:00
David Montero Crespo e24ab79ffe feat: add board gallery and supported boards sections to documentation 2026-03-16 14:39:18 -03:00
David Montero Crespo eb4b691f2d feat: add RP2040 and Raspberry Pi 3 emulation sections to documentation 2026-03-16 14:37:08 -03:00
David Montero Crespo 2b19181c2b Refactor code structure for improved readability and maintainability 2026-03-16 14:22:23 -03:00
David Montero Crespo b98bf715f0 Add UserProfilePage styles for layout and design 2026-03-16 00:12:33 -03:00
David Montero Crespo 5311a01103 Refactor code structure for improved readability and maintainability 2026-03-15 23:15:38 -03:00
David Montero Crespo 5439dcf65f feat: add RISC-V emulation documentation and update ESP32 emulation section 2026-03-15 23:15:31 -03:00
David Montero Crespo c69094e7d7 feat: Implement Virtual File System for Raspberry Pi 3 with context menu and upload functionality
- Add VirtualFileSystem component for managing files and directories.
- Integrate useVfsStore for state management of the virtual file system.
- Implement context menu for file operations: New File, New Folder, Rename, Delete.
- Add upload functionality to send files to Raspberry Pi.
- Create default file structure for new Raspberry Pi boards.
- Enhance editor with board-aware features and compile/run orchestration.
- Introduce CompileAllProgress component for tracking compilation status across boards.
- Redesign SerialMonitor to support multiple boards with tabbed interface.
- Establish Raspberry Pi specific workspace with terminal and file system integration.
2026-03-15 14:04:01 -03:00
David Montero Crespo 405ff1f017 Refactor wire management and rendering logic
- Updated wire structure to replace control points with waypoints for better handling of wire paths.
- Introduced new utility functions for wire hit detection and rendering segments.
- Enhanced wire creation process to support dynamic waypoints and color assignment.
- Implemented a new ESP32 worker for improved simulation handling.
- Added utility functions for generating orthogonal paths and auto-coloring wires based on pin names.
- Improved compatibility with existing projects by ensuring backward compatibility with wire data structures.
2026-03-14 22:55:13 -03:00
David Montero Crespo b0b3a8763d V1 feat: Enhance ESP32 emulation support and logging
- Added detailed logging for GPIO changes, system events, and errors in simulation websocket.
- Improved ESP32 firmware handling by merging individual binaries into a single 4MB flash image.
- Updated ESP32 bridge to handle serial output and GPIO changes with appropriate logging.
- Introduced integration test for ESP32 emulation, covering compilation, WebSocket connection, and event handling.
- Enhanced examples to include ESP32 projects and updated the examples gallery to reflect new board types.
- Refactored simulator store to manage ESP32 bridge and simulator instances more effectively.
- Updated requirements to include esptool for ESP32 firmware management.
2026-03-14 16:57:22 -03:00
David Montero Crespo b89f85e5f7 Merge branch 'feat/raspberryPi_emuation' of https://github.com/davidmonterocrespo24/wokwi_clon into feat/raspberryPi_emuation 2026-03-12 08:26:56 -03:00
David Montero Crespo 13997ff491 feat: add documentation page and Arduino serial integration test
- Created a new DocsPage component for project documentation with links to GitHub and Discord.
- Added Arduino sketch for serial communication test between Raspberry Pi and Arduino.
- Implemented avr_runner.js to emulate ATmega328P and bridge serial communication over TCP.
- Developed a Python test script to validate the serial integration between the emulated Raspberry Pi and Arduino.
2026-03-12 08:17:29 -03:00
David Montero Crespo b63a068307 feat: integrate Wokwi elements for Arduino boards in LandingPage 2026-03-12 02:34:56 -03:00
copilot-swe-agent[bot] 2a92888a0c fix: add missing const SECTION_MAP declaration in DocsPage.tsx
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 19:15:05 +00:00
copilot-swe-agent[bot] 71a5bf1ae2 Add ARCHITECTURE, MCP, SETUP, WOKWI_LIBS as in-app documentation sections with SEO metadata
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 19:05:01 +00:00
copilot-swe-agent[bot] c00f094d6b Fix nginx /docs routing conflict, move FastAPI Swagger to /api/docs, complete SEO meta tags
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:55:18 +00:00
copilot-swe-agent[bot] b8bdaf4c65 Translate Spanish docs to English and add SEO-optimised URL routing for documentation
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:46:42 +00:00
copilot-swe-agent[bot] d5e981bcf1 Add system pages (Editor, Home, Examples) to documentation menu
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:26:14 +00:00
copilot-swe-agent[bot] d711fe49b1 Create documentation page accessible at /docs
- Add docs/ folder with intro, getting-started, emulator, components, roadmap markdown files
- Add DocsPage.tsx with sidebar navigation, section content, pagination
- Add DocsPage.css matching existing dark theme
- Register /docs route in App.tsx
- Add /docs to sitemap.xml

Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:56:06 +00:00
copilot-swe-agent[bot] ad0656b1cc feat: add built-in oscilloscope / logic analyzer panel
- Add useOscilloscopeStore with ring-buffer sample storage and channel management
- Add onPinChangeWithTime callback to AVRSimulator (fires on every bit transition with cycle-derived timestamp)
- Add onPinChangeWithTime callback to RP2040Simulator (fires on GPIO state change)
- Wire oscilloscope callbacks in useSimulatorStore (initSimulator + setBoardType)
- Create Oscilloscope React component with canvas-based waveform rendering
- Add oscilloscope panel to EditorPage (resizable bottom panel, same as SerialMonitor)
- Add 'Scope' toggle button to SimulatorCanvas toolbar

Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:09:24 +00:00
copilot-swe-agent[bot] 34ee9f8e0e Add mobile responsive layout with Code/Circuit tab switcher
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-10 16:09:32 +00:00
David Montero Crespo 47e6d2b804 feat: Prevent body scroll on the editor page to enhance user experience 2026-03-07 17:54:51 -03:00
David Montero Crespo 41d8e25843 feat: enhance admin setup with email validation and update workflows for fresh lib cloning 2026-03-07 00:00:22 -03:00
David Montero Crespo 290b149855 feat: add admin management features and user role handling
- Implemented `require_admin` dependency to enforce admin access control.
- Added `is_admin` column to the users table for role management.
- Created admin routes and schemas for user and project management.
- Developed AdminPage with user and project management tabs.
- Integrated user editing and deletion functionalities in the admin panel.
- Added setup screen for creating the first admin user.
- Updated frontend to include admin functionalities and user role display.
- Generated Open Graph image for better social media integration.
2026-03-06 23:46:36 -03:00
David Montero Crespo ea61bd5475 feat: user nav dropdown in landing page + redirect to editor after OAuth login
- Google OAuth callback now redirects to /editor instead of landing page
- Landing page nav shows avatar, username and dropdown when logged in
  (My Projects, Open Editor, Sign out)
- Skeleton placeholder during checkSession so login button never flickers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 21:50:35 -03:00
David Montero Crespo 7260c8d092 feat: /project/:id URL, per-project file volumes, and public/private access control
Backend:
- project_files.py: read/write sketch files to /app/data/projects/{id}/
- GET /api/projects/{id}: load project by ID (public = anyone, private = owner only)
- create/update write files to disk volume; delete removes them
- ProjectResponse includes files[] list loaded from disk

Frontend:
- /project/:id canonical route -> ProjectByIdPage
- ProjectPage (legacy /:username/:slug) redirects to /project/:id after load
- SaveProjectModal sends files[] and navigates to /project/{id} after save
- DATA_DIR env var in both compose files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 20:38:06 -03:00
David Montero Crespo c7409afa2d feat: update LandingPage component with enhanced visuals and improved content 2026-03-06 17:19:27 -03:00
David Montero Crespo 369735010b Add check_actions script and strategic plan for VELXIO; update submodule commits to dirty state 2026-03-06 17:18:33 -03:00
David Montero Crespo aafb97b2ac home page 2026-03-06 15:32:24 -03:00
David Montero Crespo 0d5d440a56 fix: enhance Docker build process and improve file explorer resizing functionality 2026-03-06 11:20:47 -03:00
David Montero Crespo c1fc653de2 feat: update component styles and add serial monitor functionality 2026-03-06 10:24:03 -03:00
David Montero Crespo a5c6987aca feat: implement user authentication and project management features
- Add LoginPage and RegisterPage for user authentication.
- Create UserProfilePage to display user projects.
- Implement ProjectPage for viewing and editing individual projects.
- Introduce authService for handling user login, registration, and session management.
- Add projectService for managing project data retrieval and manipulation.
- Enhance EditorPage with file management capabilities and save prompts.
- Introduce Zustand stores for managing authentication, editor state, and project state.
- Add reserved usernames utility to prevent certain usernames during registration.
- Update compilation service to handle multiple files for Arduino sketches.
2026-03-06 10:14:50 -03:00
David Montero Crespo 9b8747349f feat: enhance RP2040 and AVR simulators with serial baud rate handling; update editor toolbar and library manager modal for improved state management and UI 2026-03-05 21:07:10 -03:00
David Montero Crespo 4ba2ccb877 Refactor simulator store to unify serial data handling and add board pin mapping utility
- Simplified serial data handling in `useSimulatorStore` for both AVR and RP2040 simulators.
- Introduced `boardPinMapping.ts` to map wokwi-element pin names to simulator GPIO/pin numbers for Arduino Uno and Nano RP2040.
- Added `compilationLogger.ts` to parse compile results into structured log entries for better console output.
2026-03-05 21:07:03 -03:00
David Montero Crespo 5d175abdcf feat: add Serial Monitor component and integrate with AVR simulator
- Implemented SerialMonitor component to display serial output and allow user input.
- Enhanced AVRSimulator to handle USART communication and transmit serial data.
- Updated useSimulatorStore to manage serial output state and toggle visibility of the Serial Monitor.
- Added example Arduino sketches for serial communication, including Serial Echo and Serial LED Control.
- Introduced I2CBusManager to manage virtual I2C devices and integrated with AVRSimulator.
2026-03-05 06:56:14 -03:00
David Montero Crespo 426c7ab35f feat: establish initial simulator and editor environment with component rendering, wiring, library management, and backend services. 2026-03-04 22:05:23 -03:00
David Montero Crespo ef7e86bc1e feat: Enhance simulator with new components and event handling
- Updated components-metadata.json with new generation timestamp.
- Added event handling for button presses and releases in DynamicComponent.
- Improved ExamplesGallery with new styles for placeholders and previews.
- Introduced LCD 20x4 display example with corresponding code and wiring.
- Enhanced SimulatorCanvas to subscribe components to pin changes.
- Implemented PartSimulationRegistry for managing component simulation logic.
- Added basic and complex parts simulation including pushbuttons, LEDs, and LCDs.
- Created utility functions for capturing canvas previews and generating SVG previews for example projects.
2026-03-04 13:36:33 -03:00