ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Weknoq website
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
The world's knowledge, finally looped together.
A self-hosted educational video aggregator. Pulls from YouTube, TED, and more — organized into topics and learning paths.
3. Start Postgres + Redis via Docker
4. Push DB schema + seed topics
To pull videos from YouTube into your database:
Add this as a daily cron job to keep content fresh.檢視完整 README ↗The world's knowledge, finally looped together.
A self-hosted educational video aggregator. Pulls from YouTube, TED, and more — organized into topics and learning paths.
| Layer | Tech |
|---|---|
| Frontend | Next.js 14 (App Router) + Tailwind |
| Backend | Next.js API Routes |
| Database | PostgreSQL + Prisma ORM |
| Auth | NextAuth.js (Google OAuth) |
| Cache | Redis (ioredis) |
| AI Tagger | Python FastAPI + OpenAI / Ollama |
| Hosting | Docker Compose on Hetzner VPS |
| Proxy | Nginx + SSL |
git clone https://github.com/yourname/weknoq
cd weknoq
npm install
cp .env.example .env
# Fill in: DATABASE_URL, NEXTAUTH_SECRET, YOUTUBE_API_KEY, GOOGLE_CLIENT_ID/SECRET
docker compose up postgres redis -d
npm run db:push
npm run db:seed
npm run dev
# → http://localhost:3000
To pull videos from YouTube into your database:
curl -X POST http://localhost:3000/api/youtube/ingest \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_INGEST_API_KEY" \
-d '{ "query": "python tutorial", "topicSlug": "programming", "maxResults": 20 }'
Add this as a daily cron job to keep content fresh.
# 1. SSH into your VPS
ssh root@your-vps-ip
# 2. Clone the repo
git clone https://github.com/yourname/weknoq && cd weknoq
# 3. Copy and fill env
cp .env.example .env && nano .env
# 4. Add SSL certs (using Certbot)
certbot certonly --standalone -d yourdomain.com
cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem nginx/ssl/
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem nginx/ssl/
# 5. Build and run everything
docker compose up -d --build
# 6. Run migrations
docker compose exec web npx prisma migrate deploy
docker compose exec web npx ts-node packages/db/prisma/seed.ts
weknoq/
├── apps/
│ └── web/ ← Next.js 14 app
│ ├── app/ ← App Router pages + API routes
│ ├── components/ ← UI components
│ └── lib/ ← youtube.ts, tagger.ts, cache.ts
├── packages/
│ └── db/ ← Prisma schema + client (shared)
├── services/
│ └── ai-tagger/ ← Python FastAPI (optional AI upgrade)
├── nginx/ ← Nginx reverse proxy config
├── docker-compose.yml
└── .env.example
MVP (no cost): Rule-based keyword matching in lib/tagger.ts.
Works surprisingly well for common topics.
Upgrade path: Once you have traction, enable the AI tagger:
OPENAI_API_KEY → uses gpt-4o-mini (~$0.001/video)OLLAMA_HOST → free, runs locally, needs 8GB+ RAMFree quota: 10,000 units/day
search.list = 100 units → 100 searches/dayvideos.list = 1 unit → 10,000 detail fetches/dayTip: Run ingest jobs at off-peak hours. Cache all results in Redis + DB so the API is only hit during ingest, not user queries.
| Service | Cost |
|---|---|
| Hetzner CX22 | ~€6/mo |
| Domain | ~₹800/yr |
| YouTube API | Free |
| Redis (Upstash) | Free tier |
| OpenAI (opt.) | ~$5–10/mo |
| Total | ~$10–15/mo |
MIT — build something great.