ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Systems Engineering Department, Military Technological College — student survey.
Translation pending
EducationTypeScript · JavaScriptGitHub @sojjadah-cloudOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Systems Engineering Department — Military Technological College (MTC), Sultanate of Oman.
A bilingual (English / Arabic) step-by-step survey with 15 questions in 5 sections, a PostgreSQL backend, and a secure staff dashboard at /admin.
Stack: Next.js 15 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui-style components · React Hook Form · Zod · Prisma 6 · PostgreSQL
Staff fill in open forms, like the student survey. No account or password is needed.
| Route | Purpose |
|---|---|
/staff | Choose a form, in English or Arabic |
/staff/pathway | Pathway Leaders: pathway, competencies, external opportunities (one record each), student preparation, recommendations |
/staff/module | TNA Module Coordinators: one module per form. Learning outcomes, proposed activities linked explicitly to outcomes, assessment, resources, competition potential |
/staff/contribution | Academic & technical staff: expertise, workshops, project/research ideas, mentoring, delivery preferences, availability |
/staff routes behind the college's single sign-on or a shared access code./admin, administrators only)The side menu is grouped as follows:
Matching (on each opportunity and initiative) is rule-based and explained on screen. It uses students' self-reported survey answers: interest overlap, self-rated proficiency, readiness, weekly hours and previous participation, restricted to the target levels. It also lists staff with related expertise or mentoring interest, and the training gaps with related proposed workshops. Suggestions are never applied automatically. Administrators add students or staff to an initiative explicitly, and eligibility remains a staff decision.
Reports: CSV and Excel exports for opportunities, pathways, modules (one row per activity, with linked outcomes), workshops, research ideas, the staff directory, initiatives, and an integrated planning report per technical field. Exports follow the page filters and the interface language. They are admin-only and recorded in the audit log.
| Item | Where | Notes |
|---|---|---|
| Official logo | public/brand/se-logo.jpeg | Copy the department-supplied file unchanged. Until it exists, the header shows an empty outlined placeholder. To use another file name or format (e.g. SVG), change src/config/brand.ts. |
| Specialisations (Q4) | src/config/survey.ts → SPECIALISATIONS, ISE_TRACKS | Configured with the 10 department programmes plus Information Systems Engineering (ISE). Choosing ISE asks for a track: Cybersecurity, Artificial Intelligence, Information Technology, or Other (specify). value is stored in the database, so do not change it once responses are being collected. Have the Arabic programme names checked. |
| Student ID rule (Q2) | NEXT_PUBLIC_STUDENT_ID_PATTERN env var | A regular expression applied to the trimmed, upper-cased ID. Default ^[A-Z0-9]{6,12}$. It is applied at build time, so rebuild after changing it. |
| Privacy / consent wording | src/i18n/en.ts, src/i18n/ar.ts → reviewScreen | Have the wording checked against institutional policy. |
All visible text, in both languages, is in src/i18n/en.ts and src/i18n/ar.ts. A unit test fails if any key is missing from the Arabic file.
Requires Node.js 20+.
npm install
cp .env.example .env # then edit .env (see below)
npm run db:local # optional: starts a local PostgreSQL on port 54329 (keep it running)
npx prisma migrate deploy # creates the tables
npm run admin:create -- --email [email protected] --name "Your Name"
npm run dev # http://localhost:3000 (staff: /admin)
npm run db:local uses embedded-postgres (a real PostgreSQL server, stored in ./.pg-data) so you don't need a system install. For it, set:
This is the beginning of the README. Read the rest at the original. Read the full README ↗