Skip to content
Merged

Dev #104

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
a6bd136
feat: remove Tavus integration and update video components
rhyanvargas Oct 29, 2025
822b046
feat: remove outdated Tavus integration spec
rhyanvargas Oct 29, 2025
0fbf2b1
feat: configure learning check feature with Tavus integration
rhyanvargas Oct 29, 2025
2c94f84
docs: streamline project rules and add testing guide
rhyanvargas Oct 29, 2025
f65986c
feat: add Alert and Empty UI components
rhyanvargas Oct 29, 2025
b848e18
feat: enhance quiz system with completion tracking and UI updates
rhyanvargas Oct 29, 2025
25b04ba
feat: add Tavus conversation APIs for learning checks
rhyanvargas Oct 29, 2025
0a131af
feat: add learning check component with conversation assessment
rhyanvargas Oct 29, 2025
c4c97a1
chore: codebase cleanup before objective tracking feature
rhyanvargas Nov 1, 2025
0a9b82a
feat: add Tavus config update scripts
rhyanvargas Nov 1, 2025
172fe88
feat: add Tavus learning check API endpoints
rhyanvargas Nov 1, 2025
60db928
feat: implement learning check UI components
rhyanvargas Nov 1, 2025
afe05ad
docs: update learning check specifications
rhyanvargas Nov 1, 2025
bd6370d
fix: improve CVI conversation and hook error handling
rhyanvargas Nov 1, 2025
598d356
refactor: improve Tavus config formatting and structure
rhyanvargas Nov 1, 2025
5f3833e
fix: resolve strict linting warnings
rhyanvargas Nov 1, 2025
6f99fec
chore: update gitignore and remove empty tech debt file
rhyanvargas Nov 1, 2025
a75384e
feat: improve UI consistency and dynamic timer messaging
rhyanvargas Nov 1, 2025
46e59cc
docs: add console logging cleanup tracking issue
rhyanvargas Nov 1, 2025
4ba5f15
Merge pull request #100 from rhyanvargas/rhyan/8p3-55-end-of-chapter-…
rhyanvargas Nov 1, 2025
8ed3549
feat: add feature specification workflow and documentation
rhyanvargas Nov 5, 2025
d842d5f
Add Tavus conversation and ask question dialog components
rhyanvargas Nov 5, 2025
99458a8
Merge pull request #102 from rhyanvargas/feature/update-learning-chec…
rhyanvargas Nov 5, 2025
95dd859
chore: update gitignore pattern and archive outdated learning check s…
rhyanvargas Nov 16, 2025
b61a5d9
feat: add Better Auth migration feature specification
rhyanvargas Nov 16, 2025
ebd5940
feat: add Better Auth database schema and Drizzle ORM configuration
rhyanvargas Nov 19, 2025
41f8dd1
feat: add Better Auth login and signup forms with field components
rhyanvargas Nov 19, 2025
9b405c9
feat: remove AWS Amplify auth components and add Radix checkbox depen…
rhyanvargas Nov 19, 2025
02871db
feat: implement Better Auth client integration with login and signup …
rhyanvargas Nov 19, 2025
7b254a5
feat: remove AWS Amplify mock configuration from CI/CD workflows
rhyanvargas Nov 19, 2025
4a4b934
feat: migrate authentication from AWS Amplify to Better Auth
rhyanvargas Nov 19, 2025
daab21c
add .env example
rhyanvargas Nov 20, 2025
4f3327e
chore: remove build check step from PR checks workflow
rhyanvargas Nov 20, 2025
82dbe14
feat: add Better Auth schema configuration to Drizzle adapter
rhyanvargas Nov 20, 2025
4317cf9
feat: reorganize .env.example with improved structure and documentation
rhyanvargas Nov 21, 2025
992d922
feat: migrate dashboard to Better Auth and add reusable BackButton co…
rhyanvargas Nov 21, 2025
a883739
Remove AWS Amplify dependencies and UI overrides
rhyanvargas Nov 24, 2025
5d91736
Update Node engine requirement to 22.x
rhyanvargas Nov 24, 2025
1123b2b
Remove AWS Amplify dependencies and update packages
rhyanvargas Dec 14, 2025
438aa82
Merge pull request #103 from rhyanvargas/feature/better-auth-migration
rhyanvargas Dec 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 41 additions & 12 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,21 +1,50 @@
# MUX API
# ===============================
# Core Auth & Database (Required)
# ===============================

# Secret used by Better Auth for signing/encryption
BETTER_AUTH_SECRET={your_better_auth_secret_here}

# Postgres / Neon connection URL
# Example: postgresql://user:password@host:5432/dbname?sslmode=require
DATABASE_URL={your_database_url_here}


# ===============================
# Mux Video (Optional)
# ===============================

# Only needed if you use Mux API/token-based workflows
MUX_TOKEN_ID={your_mux_token_here}
MUX_TOKEN_SECRET={your_mux_secret_here}

# Tavus API Configuration
# Get your API credentials at: https://www.tavus.io/
# Documentation: https://docs.tavus.io/api-reference/conversations/create-conversation

# ==========================================
# Tavus Learning Check Feature (Optional)
# ==========================================

# Get your Tavus API credentials at: https://www.tavus.io/
# Docs: https://docs.tavus.io/api-reference/conversations/create-conversation

# Required: Your Tavus API key
TAVUS_API_KEY=your_tavus_api_key_here

# Required: Your Tavus replica ID (AI avatar)
TAVUS_REPLICA_ID=your_replica_id_here
# Required: Tavus persona ID (e.g. "pd8#1eb0d8e")
# This should reference the "8p3p - AI Instructor Assistant" persona
TAVUS_PERSONA_ID=your_persona_id_here

# Webhook configuration (Phase 2+: perception / callbacks)

# Secret for verifying Tavus webhook signatures (HMAC)
TAVUS_WEBHOOK_SECRET=your_webhook_secret_here

# Optional: Persona ID for custom AI personality
# Leave commented out to use default persona
# TAVUS_PERSONA_ID=your_persona_id_here
# Public webhook URL for perception analysis callbacks
# Example: https://your-app.vercel.app/api/learning-checks/perception-analysis
TAVUS_WEBHOOK_URL=your_webhook_endpoint_here

# Optional: Default conversation duration in seconds
# Default: 240 (4 minutes)
# TAVUS_DEFAULT_CALL_DURATION=240
# Learning Check assets (IDs can be public)
NEXT_PUBLIC_TAVUS_LEARNING_CHECK_OBJECTIVES_ID=your_objectives_id_here
NEXT_PUBLIC_TAVUS_LEARNING_CHECK_GUARDRAILS_ID=your_guardrails_id_here
# Helper: create via API routes (local dev)
# curl -X POST http://localhost:3000/api/learning-checks/objectives -H "Content-Type: application/json" -d '{}'
# curl -X POST http://localhost:3000/api/learning-checks/guardrails -H "Content-Type: application/json" -d '{}'
26 changes: 0 additions & 26 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,35 +24,9 @@ jobs:
- name: Run ESLint checks
run: npm run lint:strict

- name: Create mock amplify_outputs.json for CI
run: |
if [ ! -f "amplify_outputs.json" ]; then
echo "Creating mock amplify_outputs.json for CI build..."
cat > amplify_outputs.json << 'EOF'
{
"auth": {
"aws_region": "us-east-1",
"user_pool_id": "mock-pool-id",
"user_pool_client_id": "mock-client-id",
"identity_pool_id": "mock-identity-pool-id"
},
"data": {
"aws_region": "us-east-1",
"url": "https://mock-api.amazonaws.com/graphql"
}
}
EOF
fi

- name: Run TypeScript check
run: npm run type-check

- name: Run build check (with mock amplify outputs)
run: |
echo "🏗️ Testing build with mock Amplify configuration..."
npm run build
continue-on-error: false

- name: Upload logs (on failure)
if: failure()
uses: actions/upload-artifact@v4
Expand Down
14 changes: 9 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
# testing
/coverage

# logs
/logs/*

# next.js
/.next/
/out/
Expand Down Expand Up @@ -52,10 +55,10 @@ amplifyconfiguration*
logs/*

# windsurf
.windsurf/*
!.windsurf/rules/
.windsurf/rules/*
!.windsurf/rules/project-standards.md
# .windsurf/*
# !.windsurf/rules/
# .windsurf/rules/*
# !.windsurf/rules/project-standards.md

# next-video
videos/*
Expand All @@ -69,4 +72,5 @@ scripts/*-output.json
scripts/*.log

# specs archive (historical files not tracked)
specs/archive/
**/archive/

Loading