https://github.com/anasahmed07/robotext
The Best Platform to learn Physical AI & Humanoid Robotics.
https://github.com/anasahmed07/robotext
better-auth book docasaurus documentation express physical-ai robotics ros2
Last synced: 13 days ago
JSON representation
The Best Platform to learn Physical AI & Humanoid Robotics.
- Host: GitHub
- URL: https://github.com/anasahmed07/robotext
- Owner: anasahmed07
- Created: 2025-12-05T08:13:52.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-19T12:58:48.000Z (6 months ago)
- Last Synced: 2025-12-22T04:57:48.519Z (6 months ago)
- Topics: better-auth, book, docasaurus, documentation, express, physical-ai, robotics, ros2
- Language: MDX
- Homepage: https://anasahmed07.github.io/robotext
- Size: 18.8 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history/prompts/001-foundation-auth/001-foundation-auth-specification-creation.spec.prompt.md
Awesome Lists containing this project
README
# Robotext
**The Best Platform to Learn Physical AI & Humanoid Robotics**
Robotext is an interactive learning platform that teaches Physical AI, robotics, and embodied intelligence through hands-on projects. From foundational concepts to cutting-edge Vision-Language-Action (VLA) models, learn by building real robotic systems.
## ๐ Features
- **4 Comprehensive Modules**:
- ๐ค Robotic Nervous System: Sensors, actuators, and control loops
- ๐ท Digital Twin: Simulation and virtual testing environments
- ๐ง AI Robot Brain: Machine learning and intelligent decision-making
- ๐๏ธ Vision-Language-Action Models: Multimodal AI for robotics
- **Bilingual Support**: Full English and Urdu (ุงุฑุฏู) content with RTL layout
- **User Authentication**: Secure sign-up, login, and personalized learning profiles
- **Adaptive Learning**: Tailored content based on experience level and hardware setup
- **Dark/Light Mode**: Comfortable learning in any environment
## ๐ ๏ธ Tech Stack
### Frontend
- **Framework**: Docusaurus 3.9.2 (React-based static site generator)
- **Language**: TypeScript 5.3.3
- **Styling**: Tailwind CSS 3.x + CSS Modules
- **i18n**: Built-in Docusaurus i18n with English & Urdu
- **Deployment**: GitHub Pages
### Backend
- **Runtime**: Node.js 18+ with Express 4.18.2
- **Language**: TypeScript 5.3.3
- **Authentication**: better-auth 0.8.0 (email/password, 30-day sessions)
- **Database**: Neon PostgreSQL (serverless)
- **ORM**: Drizzle ORM 0.29.5
- **Validation**: Zod 3.22.4
- **Logging**: Winston 3.11.0
- **Deployment**: Railway
## ๐ฆ Project Structure
```
robotext/
โโโ api/ # Backend API (Express + TypeScript)
โ โโโ src/
โ โ โโโ routes/ # API endpoints (auth, user)
โ โ โโโ db/ # Database schema & migrations
โ โ โโโ auth/ # better-auth configuration
โ โ โโโ middleware/ # CORS, logging, error handling
โ โ โโโ utils/ # Validation schemas
โ โโโ .env.example # Environment variables template
โ
โโโ web/ # Frontend (Docusaurus)
โ โโโ docs/ # Course content (Markdown)
โ โโโ src/
โ โ โโโ pages/ # Landing, signup, login, onboarding
โ โ โโโ components/ # AuthContext, ProtectedRoute, LanguageToggle
โ โ โโโ css/ # Global styles, RTL support
โ โโโ i18n/ur/ # Urdu translations
โ
โโโ specs/ # Feature specifications & planning
โโโ 001-foundation-auth/
```
## ๐ Getting Started
### Prerequisites
- Node.js 18+ and npm
- PostgreSQL database (or Neon account)
- Git
### Backend Setup
1. **Clone and navigate**:
```bash
git clone https://github.com/anasahmed07/robotext.git
cd robotext/api
```
2. **Install dependencies**:
```bash
npm install
```
3. **Configure environment**:
```bash
cp .env.example .env
# Edit .env and set:
# - DATABASE_URL (from Neon dashboard)
# - AUTH_SECRET (generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
```
4. **Run database migrations**:
```bash
npm run db:push
```
5. **Start development server**:
```bash
npm run dev
```
Backend will run on `http://localhost:3000`
### Frontend Setup
1. **Navigate to web directory**:
```bash
cd ../web
```
2. **Install dependencies**:
```bash
npm install
```
3. **Configure environment**:
```bash
cp .env.example .env
# Set REACT_APP_API_URL=http://localhost:3000
```
4. **Start development server**:
```bash
npm start
```
Frontend will run on `http://localhost:3001`
## ๐ Database Schema
- **user**: Core user data (id, email, name, emailVerified)
- **session**: Authentication sessions (token, expiresAt, userId)
- **account**: OAuth providers & password storage
- **verification**: Email verification tokens
- **user_profiles**: Learning profiles (programmingLanguages, rosFamiliarity, roboticsKnowledge, hardwareSpecs)
## ๐ Deployment
### Backend (Railway)
1. Create new project in Railway
2. Connect GitHub repository
3. Set environment variables (DATABASE_URL, AUTH_SECRET, FRONTEND_URL)
4. Deploy from main branch
### Frontend (GitHub Pages)
1. Enable GitHub Pages in repository settings
2. Set source to "GitHub Actions"
3. Add `BACKEND_API_URL` secret in repository settings
4. Push to main branch (auto-deploys via GitHub Actions)
## ๐งช Testing
```bash
# Run tests (when implemented)
cd api && npm test
cd web && npm test
# Lint code
npm run lint
# Format code
npm run format
```
## ๐ Documentation
- **Specification**: `specs/001-foundation-auth/spec.md`
- **Architecture**: `specs/001-foundation-auth/plan.md`
- **Tasks**: `specs/001-foundation-auth/tasks.md`
- **Quick Start**: `specs/001-foundation-auth/quickstart.md`
## ๐ค Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'Add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open Pull Request
## ๐ License
This project is licensed under the MIT License.
## ๐ Links
- **Live Site**: [GitHub Pages URL]
- **API**: [Railway URL]
- **Repository**: https://github.com/anasahmed07/robotext
## ๐ค Author
**Anas Ahmed** - [@anasahmed07](https://github.com/anasahmed07)
---
Built with โค๏ธ using Docusaurus and better-auth