AI-Powered Research Analytics Platform for Chemistry & Physics researchers.
- Authentication: Email/password authentication with Supabase
- Project Management: Create and manage research projects
- Interactive Notebook: Python code execution using Pyodide (runs in browser)
- File Management: Upload, download, and manage files for each project
- AI Agent: AI-powered research assistance using Google Gemini API
- Node.js 18+
- npm or yarn
- Supabase account
- Clone the repository
- Install dependencies:
npm install-
Set up environment variables:
- Copy
.env.exampleto.env.local - Add your Supabase URL and anon key:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key - Copy
-
Set up Supabase:
- Create a Supabase project at https://supabase.com
- Run the migration files in order from
supabase/migrations/:001_initial_schema.sql002_notebooks_table.sql003_files_storage.sql004_storage_setup.sql005_agent_sessions.sql
- Create a storage bucket named
project-files(seesupabase/STORAGE_SETUP.md)
-
Set up environment variables:
- See
ENV_SETUP.mdfor detailed instructions - Frontend: Create
.env.localin root directory - Backend: Create
.envinbackend/directory - Get Gemini API key from https://makersuite.google.com/app/apikey
- See
-
Run the development server:
npm run devOpen http://localhost:3000 with your browser.
The FastAPI backend is located in the backend/ directory. See backend/README.md for setup instructions.
Backend requires:
SUPABASE_URL- Your Supabase project URLSUPABASE_SERVICE_ROLE_KEY- Supabase service role keyGEMINI_API_KEY- Google Gemini API key (for AI agent features)ALLOWED_ORIGINS- Comma-separated list of allowed CORS origins
app/- Next.js app router pagescomponents/- React componentslib/- Utility functions and configurationssupabase/- Supabase client setuppyodide-executor.ts- Python code execution using Pyodide
backend/- FastAPI backendsupabase/migrations/- Database migration files
- Phase 1: ✅ Authentication & User Management
- Phase 2: ✅ Coding Environment (Notebook with Pyodide) & File Storage
- Phase 3: ✅ AI Agent Implementation (Quiz flow & multi-step execution)
The notebook uses Pyodide to execute Python code directly in the browser. This means:
- Code runs client-side (no backend required for execution)
- Limited to packages available in Pyodide
- Some packages can be installed on-demand using
micropip
Files are stored in Supabase Storage in the project-files bucket. Each file is stored under {project_id}/{timestamp}_{filename}.
MIT# LabMindDemo