Skip to content

any777777/ccna

Repository files navigation

CCNA Arabic Academy

Next.js learning platform for CCNA 200-301. The app is Arabic/English blended, RTL-aware, and generated from the local CCNA material package.

This is an independent educational project. It is not an official Cisco product, is not affiliated with Cisco, and does not claim that its author holds the official CCNA certification. Use Cisco Networking Academy and Cisco's published exam resources as the authoritative sources for the curriculum and certification.

What is included

  • Dashboard-first learning experience.
  • CCNA course catalogue with CCNP marked as coming soon.
  • ITN, SRWE, and ENSA tracks.
  • 48 generated modules.
  • 439 generated lessons.
  • Packet Tracer lab path.
  • 60 original demo exam questions.
  • Topic/resource index and safe NetAcad reference screenshots.

Commands

npm run dev
npm run lint
npm run build

The local Windows environment uses next dev --webpack and next build --webpack because the native Turbopack/SWC binding is not loading correctly on this machine. Vercel can still deploy this as a standard Next.js app.

Google sign-in

The app uses Auth.js / NextAuth with Google OAuth. Create .env.local from .env.example and set:

AUTH_SECRET=generate-a-strong-random-secret
AUTH_URL=http://localhost:3000
AUTH_GOOGLE_ID=your-google-oauth-client-id
AUTH_GOOGLE_SECRET=your-google-oauth-client-secret

For Google Cloud OAuth, add this redirect URI:

http://localhost:3000/api/auth/callback/google

On Vercel, set the same variables with the production URL in AUTH_URL, and add the production callback URL in Google Cloud:

https://your-domain.com/api/auth/callback/google

Regenerate course content

Run this from the ccna-academy folder when the parent ماركداون material changes:

npm run generate:content

The generated deployment data lives at:

  • src/data/generated/content.json
  • public/material/

Vercel builds from the generated data already inside this project; it does not need access to the parent material folder.

Lecture video pipeline

Lecture source videos stay outside Git in the parent محاضرات folder. The app stores only metadata, Blob URLs, transcripts, and timestamp mappings.

node scripts/lecture-pipeline.mjs catalog
node scripts/lecture-pipeline.mjs upload
node scripts/lecture-pipeline.mjs transcribe --limit-videos 3 --limit-chunks 12
node scripts/lecture-pipeline.mjs map
npm run generate:content

YouTube playlists are indexed without downloading video files. The pipeline stores video IDs, titles, durations, transcript metadata, and lesson mappings only:

npm run youtube:catalog
npm run youtube:transcripts
npm run lectures:map
npm run generate:content

By default, YouTube transcript records use metadata fallback when caption tracks are not available or would require opening each video page. Those records are shown in indexed-material/youtube/ and flagged in the review queue as metadata-only.

Required local/Vercel variables:

BLOB_READ_WRITE_TOKEN=from-vercel-blob
OPENAI_API_KEY=local-only-for-transcription
LECTURE_SOURCE_DIR=D:\path\to\local\lectures

catalog creates محاضرات/indexed-material records and src/data/generated/lecture-videos.json. upload writes Blob URLs into the lecture manifest. transcribe creates Arabic/English transcript chunks with CCNA terms preserved in English. map only publishes medium/high-confidence lesson segments unless --include-low is explicitly used.

Deploy on Vercel

Use ccna-academy as the Vercel project root.

Build command:

npm run build

Output is handled by Next.js automatically. No database is required for the current static course build.

Notes

npm audit --omit=dev currently reports a moderate advisory through Next's transitive PostCSS dependency. next@16.2.10 is the latest version available at the time this project was built, and npm's suggested --force fix would downgrade Next to an old breaking version, so it was not applied.

About

Arabic/English CCNA learning platform covering ITN, SRWE, and ENSA with 48 modules, 439 lessons, Packet Tracer labs, and exam practice.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors