Grok Notes is an advanced, AI-powered notebook application built with React, TypeScript, and Node.js. It provides a collaborative, offline-capable environment for coding, data analysis, and machine learning, integrated with Grok AI for assistance.
Use the auto-deploy script for easy setup, testing, and deployment:
# Full setup and start
./auto-deploy.sh all
# Individual commands
./auto-deploy.sh setup # Check deps, setup env, install
./auto-deploy.sh test # Run tests
./auto-deploy.sh start # Start servers
./auto-deploy.sh stop # Stop servers
./auto-deploy.sh deploy # Deploy to cloud + Cloudflare notesEdit .env files with your API keys before deploying.
- Interactive Notebooks: Jupyter-like cells for code execution, markdown, and visualizations.
- Terminal Integration: Embedded terminal for shell commands.
- Drawing Layer: Freehand drawing over content.
- Collaboration: Real-time collaborative editing.
- Machine Learning: Client-side ML with TensorFlow.js, extensible to cloud.
- Offline Sync: Work offline with automatic sync.
- Plugin System: Extensible via plugins.
- AI Assistance: Live chat with Grok for code help.
- Security: OAuth login, data encryption, secure headers.
- Advanced Features: Voice commands, VR/AR support, internationalization.
- Framework: React + TypeScript + Vite
- State Management: Zustand
- Components:
- TopBar: Navigation and controls
- NotebookPane: Main notebook interface
- TerminalPane: Embedded terminal
- NotesDrawer: Side notes panel
- DrawLayer: Drawing overlay
- Footer: Status bar
- Services:
- collaboration: Real-time editing
- mlService: ML operations
- offlineSync: Offline functionality
- performanceMonitor: Performance tracking
- Plugins: Extensible plugin system
- Framework: Node.js + Express
- Features:
- API endpoints for notebooks, users, collaboration
- OAuth integration (Google/GitHub)
- Data encryption with AES
- Security headers via Helmet.js
- Cloud ML integration (AWS SageMaker)
- Node.js 18+
- npm or yarn
- Git
-
Clone the repository:
git clone <repo-url> cd grok-notes
-
Install frontend dependencies:
cd grok-notes-ts npm install -
Install backend dependencies:
cd ../grok-notes-backend npm install
-
Create
.envfiles for backend:GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRETfor OAuthGITHUB_CLIENT_ID,GITHUB_CLIENT_SECRETfor OAuthENCRYPTION_KEYfor AES encryptionAWS_ACCESS_KEY,AWS_SECRET_KEYfor SageMakerGROK_API_KEYfor AI integration
-
Configure frontend:
- Update API base URL in
src/config.ts
- Update API base URL in
-
Start backend:
cd grok-notes-backend npm start -
Start frontend:
cd grok-notes-ts npm run dev
GET /api/notebooks- List notebooksPOST /api/notebooks- Create notebookGET /api/notebooks/:id- Get notebookPUT /api/notebooks/:id- Update notebookDELETE /api/notebooks/:id- Delete notebookPOST /auth/login- OAuth loginPOST /ml/train- Cloud ML trainingPOST /ml/infer- Cloud ML inference
Uses OAuth 2.0 with Google/GitHub. Tokens stored securely.
- Click "New Notebook" in TopBar.
- Add cells: Code or Markdown.
- Execute code with Shift+Enter.
- Open chat panel.
- Ask questions about code/cells.
- Grok provides assistance.
- Share notebook link.
- Real-time edits visible to all.
- Enable microphone.
- Speak commands like "run cell" or "add markdown".
- Enable WebXR.
- Interact with 3D canvas.
- OAuth: Secure login via Google/GitHub.
- Encryption: AES-256 for stored data.
- Headers: Helmet.js for XSS, CSRF protection.
- Penetration Testing: Run
npm test:securityfor basic checks. Use tools like OWASP ZAP for API testing, ensure HTTPS in production, rate limiting on auth endpoints.
- Unit tests:
npm test - E2E tests:
npx cypress run - Security tests: Custom scripts
- Fork the repo.
- Create feature branch.
- Submit PR.
ISC