Commit Graph

278 Commits (6eedd45b8126dca5b4e4d2c3a9d42207b29a5012)

Author SHA1 Message Date
David Montero Crespo 88c5f3b19f feat: add Wokwi zip import/export functionality and update dependencies 2026-03-07 00:14:35 -03:00
David Montero Crespo 44293ba000 feat: enhance SEO by adding hidden fallback content for crawlers 2026-03-07 00:03:31 -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 6d3614e40f Add commercial licensing and AGPLv3 license files; update submodule references to dirty state; create strategic plan document for Velxio project 2026-03-06 22:32:05 -03:00
David Montero Crespo 746e735487 docs: update README with velxio.dev live URL, Docker run command, and full self-hosting guide
- Add live demo badge and link to velxio.dev at the top
- Add Docker single-container run command with volume mount
- Add env vars reference table
- Simplify and modernize overall structure
- Update package.json name and homepage to velxio.dev

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 22:12:50 -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 7e87afa3ec fix: Google OAuth redirects to production URL after login
- FRONTEND_URL and COOKIE_SECURE are now read from settings (env vars)
- Add COOKIE_SECURE config field (false by default, true in prod)
- backend/.env sets FRONTEND_URL=https://www.velxio.dev and COOKIE_SECURE=true

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 21:03:51 -03:00
David Montero Crespo c58f98920a fix: add env_file configuration for velxio service in docker-compose 2026-03-06 20:56:05 -03:00
David Montero Crespo 6eefaf72db fix: update Google OAuth redirect URI to use configuration setting 2026-03-06 20:53:54 -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 03f2d7f22e fix: persist SQLite database via host bind mount
Mount ./data:/app/data in both compose files and set DATABASE_URL to
the absolute path /app/data/velxio.db so the database survives container
restarts and updates. Create /app/data in Dockerfile.standalone.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 20:32:36 -03:00
David Montero Crespo 0c3cb21702 fix: replace Vite favicon with Velxio chip icon across all sizes
Redesign favicon.svg with solid filled shapes (visible at 16px tab size).
Regenerate all PNG/ICO sizes (16, 32, 48, 180, 192, 512) from new design.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 17:36:03 -03:00
David Montero Crespo e4216ee2bf Merge branch 'master' of https://github.com/davidmonterocrespo24/wokwi_clon 2026-03-06 17:31:43 -03:00
David Montero Crespo 23186baf04 feat: redesign landing page with PCB schematic aesthetic and update Docker Hub description
- Remove gradient text, floating chips and heart icon from landing page
- Add circuit schematic SVG hero (Arduino + R1 + LED + oscilloscope window)
- Add peter-evans/dockerhub-description step to CI workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 17:30:51 -03:00
David Montero Crespo 6ed490b34e
Update nginx.conf 2026-03-06 17:28:52 -03:00
David Montero Crespo eb2d511512
Update nginx.conf 2026-03-06 17:27:43 -03:00
David Montero a0e223004a Merge branch 'master' of https://github.com/davidmonterocrespo24/velxio 2026-03-06 21:25:08 +01:00
David Montero c7e9c57b82 feat: add production deployment configuration with SSL support
- Add docker-compose.prod.yml for standalone production deployment
- Add nginx-host-velxio.conf for host nginx reverse proxy with SSL
- Update deploy/nginx.conf with security headers, gzip, and health endpoint
- Add deploy/nginx.prod.conf for production nginx configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-06 21:20:44 +01: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 3301c5967e feat: enhance SEO and public files for Velxio
- Added comprehensive SEO meta tags to `frontend/index.html` including Open Graph and Twitter Card data.
- Updated `frontend/public` with new favicon assets and a PWA manifest.
- Created a favicon generation script to automate favicon creation from SVG.
- Implemented `robots.txt` to allow all crawlers and point to the sitemap.
- Added `sitemap.xml` with public routes and priorities for better indexing.
2026-03-06 16:14:26 -03:00
David Montero Crespo aafb97b2ac home page 2026-03-06 15:32:24 -03:00
David Montero Crespo 176f2f7b07 fix: update CLAUDE.md to remove reference to former project name OpenWokwi 2026-03-06 14:58:17 -03:00
David Montero Crespo 1e344884f1 fix: update CLAUDE.md to reflect project name change to Velxio and enhance documentation 2026-03-06 14:58:03 -03:00
David Montero Crespo 2a4415753e fix: update project name from OpenWokwi to Velxio in documentation and configuration 2026-03-06 14:29:15 -03:00
David Montero Crespo 26f9e96c37 fix: update build:docker script to remove TypeScript compilation step 2026-03-06 14:12:13 -03:00
David Montero Crespo 22de9173ba fix: update Dockerfile to clone wokwi-libs directly and streamline build process 2026-03-06 13:53:26 -03:00
David Montero Crespo 9c376e70d4 fix: update rp2040js build process to conditionally run based on package.json presence 2026-03-06 13:31:13 -03:00
David Montero Crespo 862d90c2b7 fix: streamline Docker build process and update build scripts 2026-03-06 13:17:14 -03:00
David Montero Crespo 2a8d126b2b fix: update build commands to run only if scripts are present 2026-03-06 13:01:13 -03:00
David Montero Crespo 16271c4bd1 fix: update frontend builder image to use full node:20 version 2026-03-06 12:09:55 -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 34dd56b789 fix: retry full build install in docker 2026-03-06 11:05:55 -03:00
David Montero Crespo d0474a5e59 fix: explicit package installs for metadata generation 2026-03-06 11:02:22 -03:00
David Montero Crespo 8f0c431f8d fix: checkout submodules and use robust docker build stage 2026-03-06 10:59:22 -03:00
David Montero Crespo f071830ab5 fix: change branch to master in docker-publish workflow 2026-03-06 10:50:55 -03:00
David Montero Crespo c2771f3bb6 ci: re-trigger docker build 2026-03-06 10:43:09 -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 6b7dbc5769 fix: update PayPal donation link in FUNDING.yml 2026-03-05 21:41:17 -03:00
David Montero Crespo 581c688998 fix: update PayPal donation link in README.md 2026-03-05 21:39:33 -03:00
David Montero Crespo 336f0460cd feat: enhance wire offset calculation to maintain pin connections with L-shaped stubs 2026-03-05 21:33:02 -03:00
David Montero Crespo 96131e7451 feat: add wrapper offset props to PinOverlay component for customizable positioning 2026-03-05 21:19:23 -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 13cf7be465 fix: update DynamicComponent to check if simulation is running before attaching events; enhance TFT display example with Adafruit libraries and improved UI elements 2026-03-05 02:09:30 -03:00
David Montero Crespo efd4c11e03 feat: add ILI9341 TFT display simulation and enhance component registry loading 2026-03-05 01:52:15 -03:00
David Montero Crespo da47f69cb2 feat: enhance LibraryManagerModal to fetch and display installed libraries dynamically 2026-03-05 01:23:59 -03:00