TechIndustry is a scalable, modern Learning Management System (LMS) and IT education platform designed for interactive studying, real-time knowledge verification, and community gamification. Built with a robust Layered MVC Architecture on Node.js (Express 5), PostgreSQL (Sequelize ORM), and Handlebars SSR, the platform delivers structured learning tracks across modern software engineering domains (Frontend, Backend, DevOps, QA, Data Science, and Cybersecurity).
The platform features an automated assessment system with instant quiz evaluation, dynamic cryptographic and vector-rendered PDF certificate generation, an intelligent Groq-powered AI tutor (LLaMA 3.3) with topic guardrails, a full virtual economy with XP, levels, badges, and cosmetic customization, and an interactive in-browser Code Sandbox.
- Node.js 20.x & Express.js 5.x: High-performance HTTP server and asynchronous request handling
- Layered MVC Architecture: Strict modular separation of Routes, Controllers, Services, Middleware, and Models
- PostgreSQL 16 & Sequelize ORM: Relational database persistence with schema associations and transaction management
- JWT & Session Security: Stateless JWT token authentication paired with secure session cookie context caching
- Google OAuth 2.0 SSO: Multi-provider authentication with automatic account linking
- Security & Hardening Stack:
- Helmet: Content Security Policy (CSP) and HTTP Strict Transport Security (HSTS)
- CSURF: Double-submit cookie CSRF defense for all mutation forms
- Express Rate Limit: Tiered token-bucket rate limiters on sensitive endpoints (Auth, AI, Shop, Quizzes)
- Mongo Sanitize & HPP: Defense-in-depth sanitization against NoSQL/parameter pollution attacks
- Input Validation: Declarative request validation and XSS prevention via
express-validatorandxss
- Groq AI Integration:
llama-3.3-70b-versatileAI mentor with strict domain prompts and anti-jailbreak filters - PDFKit Engine: Dynamic vector rendering of verifiable completion certificates with custom typography
- Sharp: High-efficiency image processing, resizing, and avatar transformation pipeline
- Nodemailer: SMTP email verification, activation codes, and password recovery workflows
- Compression: Adaptive gzip response compression with threshold filtering
- Handlebars (HBS) SSR: Server-rendered dynamic views with reusable partials and custom helper functions
- Modern Responsive UI: Custom Glassmorphism styling with dark/light visual hierarchy and CSS variables
- Dynamic Context Injection: Real-time user session context, coin balances, and equipped avatar frames
- Interactive Code Sandbox: Client-side code editor for rapid coding experiments and algorithm testing
- SEO & Social Optimization: Dynamic OpenGraph tags, canonical links, structured sitemap.xml, and robots.txt
- Zero-Friction Client UX: Asynchronous JSON APIs with optimistic UI feedback and toast notifications
- Azure App Service: Production cloud container runtime with auto-scaling
- GitHub Actions CI/CD: Automated deployment pipeline (
main_techindustry.yml) on commit push - Cloud Database Management: PostgreSQL connection pooling with SSL encryption options
- Structured Course Curricula: 13+ industry-aligned learning tracks (C#/.NET, Python, React, DevOps, QA, Kotlin, Java, Data Science, etc.) structured hierarchically into Courses β Modules β Lessons.
- Markdown Lesson Engine: Rich-text technical lesson rendering with syntax-highlighted code snippets and interactive navigation.
- Automated Quiz & Assessment System: Module-level quizzes with server-side validation, instant scoring, question shuffling, and immediate feedback.
- Real-Time Progress Tracking: Persistent course and lesson tracking in PostgreSQL with percentage calculations and status states (Not Started, In Progress, Completed).
- Verifiable PDF Certificates: Automated generation of branded, verifiable PDF certificates upon 100% course completion with inline preview and direct download.
- Gamification & Virtual Economy:
- XP & Levels Engine: Experience points earned from lessons and quizzes with tiered rank progression (up to Level 1000+).
- Achievement Badges: Automated unlocking of milestone badges (Level milestones, First Course, Multi-Course completions, Perfect Quizzes).
- Coins Economy: Virtual currency awarded for learning actions with atomic transaction history (
CoinTransaction). - Global Leaderboard: Competitive user ranking based on experience, level, and completed courses.
- Shop & Profile Customization: In-app cosmetics marketplace featuring avatar frames, title badges, and profile themes with equip/unequip functionality.
- AI Learning Assistant (LLaMA 3.3): Built-in Groq AI mentor providing contextual explanations with anti-spam protections and domain restrictions (IT & platform only).
- Interactive Code Sandbox: Built-in coding playground for rapid experimentation without leaving the learning environment.
- Enterprise-Grade Security: Helmet headers, CSRF tokens, strict rate limiting, secure password hashing (Bcrypt), and PII protection.
TechIndustry follows a decoupled, layered MVC monolithic architecture with strict separation between routing, controllers, business services, and data models.
βββββββββββββββββββββββββββ
β Client Browser β
ββββββββββββββ¬βββββββββββββ
β HTTP / HTTPS
βΌ
βββββββββββββββββββββββββββ
β Security & Armor β
β (Helmet, RateLimit, β
β CSRF, MongoSanitize) β
ββββββββββββββ¬βββββββββββββ
β
ββββββββββββββΌβββββββββββββ
β Express 5 Dispatcher β
ββββββββ¬ββββββββββββ¬βββββββ
β β
ββββββββββββββββΌββββββ βββΌβββββββββββββββββββ
β Page Routes β β API Routes β
β (SSR Engine) β β (JSON Endpoints) β
ββββββββββββββββ¬ββββββ βββ¬βββββββββββββββββββ
β β
ββββββββΌββββββββββββΌβββββββ
β Controllers Layer β
ββββββββββββββ¬βββββββββββββ
β
ββββββββββββββΌβββββββββββββ
β Business Services β
β (Gamification, AI, β
β Certificates, Auth) β
ββββββββββββββ¬βββββββββββββ
β
ββββββββββββββΌβββββββββββββ
β Sequelize ORM Models β
ββββββββββββββ¬βββββββββββββ
β SQL
ββββββββββββββΌβββββββββββββ
β PostgreSQL Database β
βββββββββββββββββββββββββββ
Detailed architectural specifications & request lifecycles: docs/ARCHITECTURE.md
tech-industry/
βββ .github/
β βββ workflows/
β βββ main_techindustry.yml # CI/CD: Automated Azure Web App deployment pipeline
βββ assets/
β βββ fonts/ # Custom web fonts (Inter Regular & Bold)
β βββ img/ # Platform branding, logo, and favicons
β βββ screenshots/ # Platform preview images and UI screenshots
βββ content/
β βββ courses/ # 13+ Course curricula in structured Markdown & JSON
β βββ csharp-dotnet/ # C# & .NET Core curriculum
β βββ cybersecurity-engineering/ # Cybersecurity engineering track
β βββ data-science-engineering/ # Data science & analytics track
β βββ design-fundamentals/ # UI/UX design track
β βββ devops-engineering/ # DevOps & cloud infrastructure track
β βββ java-core/ # Java core & enterprise track
β βββ javascript-basics/ # JavaScript fundamentals track
β βββ kotlin-core/ # Kotlin core & Android track
β βββ postgresql-and-mongodb/ # Database engineering track
β βββ python-for-data/ # Python data & automation track
β βββ qa-engineering/ # QA engineering & automation track
β βββ react-next/ # React & Next.js ecosystem track
β βββ typescript-core/ # TypeScript mastery track
βββ docs/
β βββ API_DOCUMENTATION.md # Complete REST API specification & schemas
β βββ ARCHITECTURE.md # Comprehensive system architecture & patterns
βββ public/ # Static public assets (CSS stylesheets, JS, robots.txt, sitemap.xml)
βββ src/
β βββ config/ # Database connection pool, rate limits, constants, content seeders
β βββ controllers/ # Route controllers (Auth, Courses, Quizzes, Certificates, Shop, etc.)
β βββ helpers/ # Custom Handlebars template helpers & formatters
β βββ middleware/ # Auth guards, page protection, SEO defaults, rate limiting
β βββ models/ # Sequelize models (User, Customer, Course, Module, Lesson, Progress, Shop)
β βββ routes/ # Express route declarations (REST API & SSR pages)
β βββ services/ # Domain business logic (AI, Gamification, Certificates, Progress, Shop)
β βββ views/ # Handlebars view templates
β βββ pages/ # SSR page layouts (Home, Profile, Course, Quiz, Settings, Shop)
β βββ partials/ # Reusable UI partials (Navbar, Footer, Sidebar, Cards, Modals)
βββ server.js # Application entry point, security middleware pipeline & server bootstrap
βββ package.json # Node.js dependencies, scripts, and package metadata
βββ LICENSE # Project license (MIT)
Follow these step-by-step instructions to run TechIndustry on your local environment:
- Node.js:
v20.xor higher (LTS recommended) - npm:
v10.xor higher - PostgreSQL:
v15.xorv16.x
git clone https://github.com/polchduikt/TechIndustry.git
cd TechIndustrynpm installCreate a .env file in the root directory:
PORT=3000
NODE_ENV=development
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=techindustry_db
DB_USER=postgres
DB_PASSWORD=your_password
# Authentication & Security
JWT_SECRET=your_super_secret_jwt_key_here
USER_CONTEXT_CACHE_MS=60000
# Google OAuth 2.0 (Optional)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3000/api/auth/google/callback
# Groq AI Service (Optional)
GROQ_API_KEY=your_groq_api_key
# Email SMTP Service (Optional)
EMAIL_USER=your_email@gmail.com
EMAIL_PASSWORD=your_app_passwordEnsure PostgreSQL is running and create the target database:
CREATE DATABASE techindustry_db;Seed the courses and curriculum content:
node src/config/seeders/syncCoursesFromContent.js
node src/config/seeders/syncLessonsFromContent.jsnpm run devThe application will be accessible at http://localhost:3000.
All architectural choices, engineering standards, threat assessments, and developer guidelines are comprehensively documented:
- docs/ARCHITECTURE.md β System architecture, layered request lifecycles, and design patterns.
- docs/DATA_MODEL.md β Complete relational schema, Entity-Relationship (ER) diagram, indexing, and transactions.
- docs/THREAT_MODEL.md β STRIDE security model, trust boundaries, and vulnerability mitigations.
- docs/GAMIFICATION_ENGINE.md β Level threshold formulas, streak mechanics, and coin ledger accounting.
- docs/AI_MENTOR_PIPELINE.md β Groq LLaMA 3.3 pipeline, topic guardrails, and token limits.
- docs/API_DOCUMENTATION.md β Complete REST API specification, request/response schemas, and rate limits.
- docs/DEPLOYMENT_AND_OPERATIONS.md β Production deployment with Nginx, PM2, Docker, and PostgreSQL tuning.
Explore our rationale and trade-offs in docs/adr/:
- ADR-001: Modular Layered MVC Monolith
- ADR-002: PostgreSQL and Sequelize ORM
- ADR-003: Hybrid Session and JWT Authentication
- ADR-004: Groq LPU LLaMA 3.3 for AI Mentorship
- ADR-005: Server-Side Vector PDFKit Certificate Generation
- ADR-006: Multi-Layered Defense-in-Depth Security Pipeline
- agent/RULES.md β Mandatory development rules, transaction invariants, and coding standards.
- agent/ARCHITECTURE.md β Fast-load mental model and directory responsibilities.
- agent/TECH_STACK.md β Detailed library version matrix and rationale.
- agent/ROADMAP.md β Completed milestones, active initiatives, and future vision.
- CONTRIBUTING.md β Contribution guidelines, local environment setup, and Conventional Commits.
- SECURITY.md β Vulnerability disclosure policy and security SLAs.
- CHANGELOG.md β Release notes and version history adhering to SemVer.
- CODE_OF_CONDUCT.md β Contributor Covenant v2.1.
- LICENSE β Project licensing terms (MIT License).
TechIndustry is actively maintained, continuously updated with new course tracks, gamification mechanics, and architectural enhancements.
This project is licensed under the MIT License.












