Skip to content

magicnode-open/magicnode-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Magicnode

Magicnode Banner

A visual plugin-based platform to create and publish AI-powered micro applications

License: Sustainable Use TypeScript React Node.js MongoDB

πŸš€ Quick Start β€’ πŸ“– Documentation β€’ 🀝 Contributing β€’ πŸ“„ License


A visual plugin-based platform to create and publish AI-powered micro applications. Build, configure, and deploy AI workflows with an intuitive drag-and-drop interface.

✨ Demo

Live Demo: Try Magicnode

What you can build:

  • πŸ“ Content Generators: Blog posts, social media content, product descriptions
  • πŸ”„ Data Processors: PDF analyzers, text summarizers, file converters
  • πŸ€– AI Assistants: Chatbots, Q&A systems, automated workflows
  • πŸ“Š Business Tools: Report generators, email templates, form builders

πŸš€ Features

  • Visual App Builder: Drag-and-drop interface for creating AI-powered applications
  • Plugin System: Extensible plugin architecture for AI services
  • File Processing: Support for PDF, images, and text files
  • Real-time Preview: See your app in action before publishing
  • Published Apps: Share your apps with unique URLs
  • Gallery: Browse and discover community-created apps

πŸ—οΈ Architecture

Magicnode follows a modern, scalable architecture with clear separation of concerns:

Server-Side (Node.js/Express)

server/
β”œβ”€β”€ config/           # Configuration management
β”œβ”€β”€ controllers/      # Business logic controllers
β”œβ”€β”€ middleware/       # Express middleware
β”œβ”€β”€ routes/          # API route definitions
β”œβ”€β”€ services/        # External service integrations
β”œβ”€β”€ utils/           # Utility functions
β”œβ”€β”€ validators/      # Data validation schemas
└── index.ts         # Server entry point

Client-Side (React/TypeScript)

client/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/  # Reusable UI components
β”‚   β”œβ”€β”€ hooks/       # Custom React hooks
β”‚   β”œβ”€β”€ lib/         # Utilities and API client
β”‚   β”œβ”€β”€ pages/       # Page components
β”‚   └── types/       # TypeScript type definitions

Shared

shared/
└── schema.ts        # Shared type definitions

πŸ› οΈ Tech Stack

Backend

  • Node.js with Express.js
  • TypeScript for type safety
  • MongoDB with MongoDB Driver
  • OpenAI API for AI services
  • Multer for file uploads
  • Zod for validation
  • Drizzle ORM for database operations

Frontend

  • React 18 with TypeScript
  • Vite for fast development
  • Tailwind CSS for styling
  • Radix UI for accessible components
  • React Query for data fetching
  • Wouter for routing
  • Framer Motion for animations

πŸ“– Documentation

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ and npm
  • MongoDB (local or cloud)
  • OpenAI API Key (for AI features)

Quick Start

  1. Clone the repository

    git clone https://github.com/magicnode-open/magicnode-core.git
    cd magicnode
  2. Install dependencies

    # Install root dependencies
    npm install
    
    # Install client dependencies
    cd client && npm install
  3. Set up environment variables

    cp .env.example .env

    Configure the following variables:

    # Database
    DATABASE_URL=your_mongodb_connection_string
    
    # OpenAI
    OPENAI_API_KEY=your_openai_api_key
    
    # Server
    PORT=8080
    NODE_ENV=development
    
    # Session
    SESSION_SECRET=your_session_secret
    
    # Analytics (Optional)
    VITE_GA4_MEASUREMENT_ID=G-XXXXXXXXXX
  4. Start the development server

    # Start both client and server
    npm run dev
    
    # Or start them separately
    npm run dev:server  # Server only
    npm run dev:client  # Client only

πŸš€ Available Scripts

Root Package

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run db:push - Push database schema
  • npm run db:generate - Generate database migrations
  • npm run lint - Run ESLint
  • npm run type-check - Run TypeScript type checking

Client Package

  • npm run dev - Start Vite dev server
  • npm run build - Build client for production
  • npm run preview - Preview production build

πŸ“ Project Structure

magicnode/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # UI components
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom hooks
β”‚   β”‚   β”œβ”€β”€ lib/           # Utilities
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   └── types/         # TypeScript types
β”‚   └── package.json
β”œβ”€β”€ server/                # Express backend
β”‚   β”œβ”€β”€ config/           # Configuration
β”‚   β”œβ”€β”€ controllers/      # Business logic
β”‚   β”œβ”€β”€ middleware/       # Express middleware
β”‚   β”œβ”€β”€ routes/          # API routes
β”‚   β”œβ”€β”€ services/        # External services
β”‚   β”œβ”€β”€ utils/           # Utilities
β”‚   β”œβ”€β”€ validators/      # Validation schemas
β”‚   └── index.ts         # Server entry
β”œβ”€β”€ shared/               # Shared types
β”œβ”€β”€ uploads/              # File uploads (gitignored)
└── package.json

πŸ”§ Development

Adding New Plugins

  1. Create plugin component in client/src/components/Plugins/
  2. Add plugin type to client/src/types/app.ts
  3. Implement server-side logic in server/controllers/appController.ts
  4. Update validation schemas in server/validators/appValidators.ts

API Endpoints

  • GET /api/apps - Get all apps
  • POST /api/apps - Create new app
  • GET /api/apps/:id - Get app by ID
  • PUT /api/apps/:id - Update app
  • DELETE /api/apps/:id - Delete app
  • POST /api/apps/:id/execute - Execute app
  • GET /api/published/:slug - Get published app

Database Schema

The app uses MongoDB with the following collections:

  • microapp - App configurations and metadata
  • appexecution - App execution history
  • user - User accounts (future feature)

πŸ“Š Analytics (Optional)

Magicnode includes optional analytics tracking. See ANALYTICS_SETUP.md for detailed setup instructions.

Key Points:

  • βœ… Completely Optional - App works without analytics
  • βœ… Privacy-First - No data sent to original developers
  • βœ… Your Data - Analytics go to your own Google Analytics account
  • βœ… Configurable - Enable/disable specific tracking events

πŸš€ Deployment

Production Build

npm run build
npm start

Environment Variables for Production

  • Set NODE_ENV=production
  • Configure production database URL
  • Set secure session secret
  • Configure CORS origins
  • (Optional) Set up analytics tracking

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started.

Quick Start for Contributors

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add some amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Please read our Code of Conduct before contributing.

πŸ“Š Project Status

GitHub last commit GitHub issues GitHub pull requests GitHub stars

Current Status: βœ… Production Ready β€’ Version: 1.0.0 β€’ License: Sustainable Use

πŸ“„ License

This project is licensed under the Sustainable Use License - see LICENSE file for details.

License Summary

Use Case Allowed Notes
🏠 Personal Use βœ… Free for personal projects
πŸŽ“ Educational Use βœ… Free for learning and teaching
🏒 Internal Business βœ… Free for internal company use
πŸ’° Commercial Services ❌ Not allowed for paid services
πŸ“¦ Commercial Distribution ❌ Not allowed for commercial products

For commercial licensing inquiries, please contact the maintainers.

This license ensures the software remains freely available for learning and personal projects while protecting against commercial exploitation.

πŸ—ΊοΈ Roadmap

Upcoming Features

  • Plugin Marketplace - Community-contributed plugins
  • Team Collaboration - Multi-user app development
  • API Integrations - Connect to external services
  • Mobile App - Native mobile applications
  • Advanced Analytics - Detailed usage insights

In Progress

  • Performance Optimization - Faster app execution
  • Enhanced Security - Additional security measures
  • Documentation - Comprehensive guides and tutorials

πŸ†˜ Support

Getting Help

Resource Description
πŸ› Bug Reports Create an issue
πŸ’‘ Feature Requests Create an issue
πŸ’¬ Community GitHub Discussions
πŸ“§ Contact Email support

Common Issues


Made with ❀️ by the Magicnode team

⭐ Star this repo β€’ πŸ› Report a bug β€’ πŸ’‘ Request a feature

About

A visual plugin-based platform to create and publish AI-powered micro applications

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages