py_apps is a web app that enables users to create and share data apps with no coding knowledge.
pyapps_dataset.mp4
- AI-Powered App Creation: Create Streamlit apps through natural language conversation with Claude 3
- File Management: Upload and analyze CSV, JSON, and text files
- Version Control: Track and manage different versions of your Streamlit apps
- Real-time Preview: See your Streamlit apps in action as you develop them
- Dark Mode Support: Full dark mode support for comfortable viewing
- Responsive Design: Works seamlessly across desktop and mobile devices
- Frontend: Next.js 15, React 18, TailwindCSS
- Backend: Next.js API Routes, Supabase
- AI: Claude 3 (Anthropic)
- Data Processing: PapaParse, SheetJS
- Authentication: Supabase Auth
- Storage: AWS S3
- Sandbox: E2B Code Interpreter
- UI Components: Radix UI, shadcn/ui
- State Management: Zustand
- Styling: TailwindCSS, CSS Modules
- Node.js 18+
- npm or yarn
- Supabase account
- AWS S3 bucket
- E2B account
- Anthropic API key
Create a .env file with the following variables:
ANTHROPIC_API_KEY=your_anthropic_api_key
E2B_API_KEY=your_e2b_api_key
AWS_S3_BUCKET=your_bucket_name
AWS_REGION=your_aws_region
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_BASE_URL=http://localhost:3000- Clone the repository
git clone https://github.com/yourusername/py_apps.git
cd py_apps- Install dependencies
npm install
# or
yarn install- Run the development server
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── apps/ # App-related pages
│ ├── auth/ # Authentication pages
│ ├── chat/ # Chat interface
│ └── files/ # File management
├── components/ # React components
├── contexts/ # React contexts
├── lib/ # Utility functions and types
│ ├── stores/ # Zustand stores
│ ├── supabase/ # Supabase client
│ └── tools/ # AI tools
├── public/ # Static assets
└── scripts/ # Helper scripts
The application uses Supabase Authentication with the following features:
- Google OAuth
- Email/Password authentication
- Password reset functionality
- Session management
Key tables in the Supabase database:
apps: Stores application metadataapp_versions: Tracks different versions of appschats: Stores chat conversationsmessages: Contains chat messagesfiles: Manages uploaded filesusers: User information