ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Digital command center for school events, live updates, interactive calendar, and student ticketing at Ananda College, Colombo.
EducationTypeScript · JavaScriptGitHub @SinuraPereraOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
AC Synapse - Ananda College's digital event command center. Real-time event updates, interactive calendar, student ticketing with QR passes, live championship standings, and multilingual support. The comprehensive platform for school event management. Built for BTUI'26
Loading the full README. The saved excerpt is shown below.
Ananda College's digital event command center.
Real-time event updates, an interactive calendar, student ticketing with QR passes, live championship standings, and multilingual support, all in one platform.
Built for BTUI'26 - the Annual ICT day of Royal College, Colombo).
Live demo: https://ac-synapse.vercel.app
Repository: https://github.com/SinuraPerera/AC-Synapse
1. Project Purpose and Objectives
2. Key Features
3. Technologies and Frameworks Used
4. Step-by-Step: Run the Project Locally
5. Accessing the Project Online
6. Project Structure
7. Security
8. About BuilderRead the full README ↗Ananda College's digital event command center. Real-time event updates, an interactive calendar, student ticketing with QR passes, live championship standings, and multilingual support, all in one platform.
Built for BTUI'26 - the Annual ICT day of Royal College, Colombo).
Live demo: https://ac-synapse.vercel.app Repository: https://github.com/SinuraPerera/AC-Synapse
School events, from sports meets and cultural programs to inter-house championships, are usually coordinated through scattered notices, paper tickets, and word of mouth. Students miss updates, tickets get lost or duplicated, and nobody has a single place to follow results as they happen.
AC Synapse gives Ananda College one digital command center for school events: a single web platform where students, staff, and organizers can follow what is happening, get into events, and track results in real time.
| Feature | Description |
|---|---|
| Real-time event updates | Live announcements and event changes, synced through Firebase. |
| Interactive calendar | Browse upcoming events by date. |
| Student ticketing with QR passes | Students get a QR pass; organizers scan it with the device camera to validate entry. |
| Live championship standings | Scores and rankings update as results come in. |
| Multilingual support | The interface is available in multiple languages. |
| PWA | Installable, mobile-friendly experience. |
| Secure data layer | Firestore security rules with automated rule tests. |
Frontend
@tailwindcss/vite)Ticketing / QR
qrcode.react (QR pass generation)html5-qrcode (camera-based QR scanning)Backend / Data
firestore.rules) with tests (firestore.rules.test.ts)@google/genai, Gemini API)Tooling
tsx, esbuild, dotenvpackage-lock.json) or Bun (bun.lock)git clone https://github.com/SinuraPerera/AC-Synapse.git
cd AC-Synapse
npm install
(or bun install)
Copy the example file and fill in your own values:
cp .env.example .env
Open .env and set:
GEMINI_API_KEY="your-gemini-api-key"
APP_URL="http://localhost:3000"
VITE_FIREBASE_API_KEY="your-firebase-api-key"
VITE_FIREBASE_AUTH_DOMAIN="your-project-id.firebaseapp.com"
VITE_FIREBASE_PROJECT_ID="your-project-id"
VITE_FIREBASE_STORAGE_BUCKET="your-project-id.firebasestorage.app"
VITE_FIREBASE_MESSAGING_SENDER_ID="your-sender-id"
VITE_FIREBASE_APP_ID="your-app-id"
VITE_FIREBASE_FIRESTORE_DATABASE_ID="(default)"
You can find the Firebase values in Firebase Console → Project settings → Your apps → Web app.
npm run dev
Visit http://localhost:3000 in your browser.
Tip: to test QR scanning on a phone, open the app via your computer's local network address (the dev server is exposed on
0.0.0.0). Browsers only allow camera access onlocalhostor HTTPS.
| Command | Purpose |
|---|---|
npm run build | Create an optimized production build in dist/ |
npm run preview | Preview the production build locally |
npm run lint | Type-check the project with TypeScript |
npm run clean | Remove build output |
npm install -g firebase-tools
firebase login
firebase deploy --only firestore:rules
The deployed version can be opened directly in any modern browser (desktop or mobile):
No installation is required. On mobile, use "Add to Home Screen" to install it as an app.
AC-Synapse/
├── public/ # Static assets
├── src/ # Application source (React + TypeScript)
├── dev-dist/ # PWA dev output
├── .env.example # Environment variable template
├── firebase-applet-config.json
├── firebase-blueprint.json # Firestore data model blueprint
├── firestore.rules # Firestore security rules
├── firestore.rules.test.ts # Security rules tests
├── security_spec.md # Security specification
├── index.html # App entry point
├── vite.config.ts # Vite + PWA + Tailwind config
├── tsconfig.json
└── package.json
firestore.rules) and covered by tests (firestore.rules.test.ts).security_spec.md..env (git-ignored). Never commit real API keys.Made with effort 💪.