Skip to content

digitalshizzy-lgtm/makex-web

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

922 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MakeX

An open-source AI-powered app builder that lets you create full-stack applications through natural language conversations.

Features

  • πŸ€– AI-Powered Development: Build apps using natural language with multiple AI models
  • πŸ”§ Full-Stack Support: Frontend, backend, and database integration
  • πŸ“± Expo/React Native: Mobile app development support
  • 🌐 Web Applications: Modern React/Next.js web apps
  • πŸ”„ Real-time Collaboration: Live preview and editing
  • πŸš€ One-Click Deployment: Deploy your apps instantly
  • πŸ“¦ Export & Sync: GitHub integration and code export
  • πŸ’³ Built-in Payments: Paddle integration for monetization

Tech Stack

  • Frontend: Next.js 14, React, TypeScript, Tailwind CSS
  • Backend: Next.js API Routes, Supabase
  • Database: PostgreSQL (via Supabase)
  • AI/LLM: OpenAI, Anthropic Claude
  • Code Execution: E2B Sandboxes
  • Background Jobs: Trigger.dev
  • Payments: Paddle
  • Analytics: PostHog
  • Error Monitoring: Sentry
  • Deployment: Vercel

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js 18+ and npm/yarn
  • Docker Desktop (for local Supabase)
  • Git

Quick Start

1. Clone the Repository

git clone https://github.com/MakeX-Corp/makex-app.git
cd makex-app
npm install

2. Environment Setup

Copy the example environment file and configure your variables:

cp .env.example .env.local

Edit .env.local with your actual API keys and configuration values.

3. Database Setup

Option A: Local Development with Supabase

# Install Supabase CLI
brew install supabase/tap/supabase

# Start local Supabase (requires Docker)
supabase start

# Apply database migrations
supabase db reset

This will start Supabase locally and provide you with:

  • Database URL: http://127.0.0.1:54321
  • Studio UI: http://127.0.0.1:54323
  • Anon Key: Check terminal output

Option B: Supabase Cloud

  1. Create a new project at supabase.com
  2. Get your project URL and anon key from Settings > API
  3. Run the migrations in your Supabase dashboard

4. Required Services

You'll need to set up the following services:

E2B (Code Execution)

  1. Sign up at e2b.dev
  2. Get your API key from the dashboard
  3. Add to E2B_API_KEY in your .env.local

AI Models

Trigger.dev (Background Jobs)

  1. Sign up at trigger.dev
  2. Create a new project
  3. Add API key to TRIGGER_API_KEY

5. Start Development

npm run dev

Open http://localhost:3000 to see your application.

Configuration

Database Schema

The application uses the following main tables:

  • user_apps - User applications
  • chat_sessions - Chat conversation sessions
  • chat_history - Message history
  • user_sandboxes - Code execution environments
  • app_listing_info - Public app listings

API Routes

  • /api/app - App management (CRUD)
  • /api/chat - AI chat functionality
  • /api/code/* - Code file operations
  • /api/sandbox - Sandbox management
  • /api/sessions - Chat session management

Deployment

Vercel (Recommended)

  1. Connect your GitHub repository to Vercel
  2. Add environment variables in Vercel dashboard
  3. Deploy automatically on push to main

Docker

# Build the Docker image
docker build -t makex .

# Run the container
docker run -p 3000:3000 makex

Development

Project Structure

β”œβ”€β”€ app/                    # Next.js app router
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   └── (pages)/           # App pages
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ app/              # App-specific components
β”‚   β”œβ”€β”€ layout/           # Layout components
β”‚   └── ui/               # Reusable UI components
β”œβ”€β”€ lib/                  # Utility libraries
β”œβ”€β”€ utils/                # Helper functions
β”‚   β”œβ”€β”€ client/           # Client-side utilities
β”‚   └── server/           # Server-side utilities
β”œβ”€β”€ trigger/              # Background job definitions
└── supabase/            # Database migrations

Adding New Features

  1. API Routes: Add new endpoints in app/api/
  2. Components: Create reusable components in components/
  3. Database: Add migrations in supabase/migrations/
  4. Background Jobs: Define jobs in trigger/

Running Tests

npm run test

Contributing

We welcome contributions! Please see our Contributing Guide for details.

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

License

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

Support

Acknowledgments


Built with ❀️ by the MakeX team

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 91.3%
  • PLpgSQL 7.7%
  • Other 1.0%