Skip to main content
Back to Elite Events

Elite Events Documentation

Technical documentation, guides, and API references for the Elite Events platform.

Architecture/Glossary

Glossary

Technical terms and concepts used in Elite Events project.


A

Admin

A user with elevated privileges who can access the admin panel (/admin/*) to manage products, categories, orders, and view analytics.

API (Application Programming Interface)

A set of endpoints that allow communication between the frontend and backend. Elite Events uses RESTful APIs.

API Route

Next.js server-side endpoint defined in src/app/api/. Handles HTTP requests (GET, POST, PUT, DELETE).

App Router

Next.js 14+ routing system using the app/ directory structure with React Server Components.

Authentication (Auth)

Process of verifying user identity. Elite Events uses NextAuth.js for session-based authentication.

Authorization

Process of determining what resources a user can access based on their role (ADMIN vs CUSTOMER).


B

bcryptjs

JavaScript library for hashing passwords. Elite Events uses 10 salt rounds for password encryption.

BullMQ

Task queue library for handling background jobs (planned for Plan 6).


C

Cart

Temporary storage of products a user intends to purchase. Stored in database for authenticated users.

Category

Organizational grouping of products. Elite Events supports hierarchical categories (parent-child relationships).

CI/CD (Continuous Integration/Continuous Deployment)

Automated testing and deployment pipeline. Elite Events uses GitHub Actions.

Client Component

React component that runs in the browser. Marked with 'use client' directive.

CRUD

Create, Read, Update, Delete - the four basic database operations.

CSRF (Cross-Site Request Forgery)

Security vulnerability protected by NextAuth.js with CSRF tokens.

CSS Modules

Scoped CSS files that prevent style conflicts. Files end with .module.css.


D

Database Migration

Version-controlled changes to database schema managed by Prisma.

Database Seeding

Populating database with initial or demo data. Elite Events seeds 90 products and demo users.


E

Environment Variables

Configuration values stored in .env file (never committed to version control).

ESLint

JavaScript linting tool that enforces code quality standards.


F

Form Validation

Checking user input for correctness. Elite Events uses Zod schemas for validation.


G

GitHub Actions

CI/CD platform that runs automated tests on every push and PR.


H

Hashing

One-way encryption of passwords. Cannot be reversed - only compared.

HTTP Methods

  • GET: Retrieve data
  • POST: Create new resource
  • PUT/PATCH: Update existing resource
  • DELETE: Remove resource

I

Inventory

Stock tracking system with quantity management and movement history.

ISR (Incremental Static Regeneration)

Next.js feature for updating static pages without full rebuild.


J

Jest

JavaScript testing framework used for unit and integration tests.

JWT (JSON Web Token)

Encoded token used for session management in NextAuth.js.


L

Layout Component

Shared UI wrapper (Header, Footer) that persists across pages.


M

Middleware

Next.js function that runs before request completion. Used for route protection.

Migration

Prisma database schema change tracked in version control.

Mock Service Worker (MSW)

Library for mocking HTTP requests in tests.

MVP (Minimum Viable Product)

First production-ready version with core features. Elite Events v1.0.0.

MySQL

Relational database system used by Elite Events.


N

NextAuth.js

Authentication library for Next.js applications. Handles sessions, JWT, and OAuth.

Next.js

React framework with server-side rendering, routing, and API routes.

Node.js

JavaScript runtime environment for running server-side code.


O

ORM (Object-Relational Mapping)

Database abstraction layer. Elite Events uses Prisma ORM.

Order

Customer purchase record including products, quantities, pricing, and status.


P

Pagination

Splitting large result sets into pages (e.g., 20 products per page).

Persistent Cart

Cart data saved to database (vs. in-memory) so it survives page refreshes and logouts.

Prisma

Modern ORM for Node.js with type-safe database access and migrations.

Product

Item available for rent. Contains title, price, description, category, images, etc.

Protected Route

Page or API endpoint requiring authentication or specific role to access.


R

Rate Limiting

Restricting number of requests a user can make to prevent abuse.

React

JavaScript library for building user interfaces with component-based architecture.

React Testing Library

Library for testing React components by simulating user interactions.

Redux

State management library. Elite Events uses Redux Toolkit for cart and wishlist state.

RESTful API

API design pattern using HTTP methods and resource-based URLs.

Review

User-submitted product rating (1-5 stars) and optional text comment.

Role-Based Access Control (RBAC)

Security model where permissions are based on user role (ADMIN or CUSTOMER).


S

Salt Rounds

Number of iterations for password hashing. Higher = more secure but slower. Elite Events uses 10.

Schema

Database structure definition. Defined in prisma/schema.prisma.

Seed Data

Initial database content for development/testing. Run with npx prisma db seed.

Server Component

React component that runs on the server. Default in Next.js App Router.

Session

Authenticated user's login state maintained across requests.

Sharp

Node.js image processing library for resizing, cropping, and format conversion.

SKU (Stock Keeping Unit)

Unique identifier for inventory tracking (e.g., "SKU-000001").

SQL Injection

Security vulnerability prevented by using Prisma's parameterized queries.

SSR (Server-Side Rendering)

Rendering pages on the server before sending to browser. Next.js default.

Static Site Generation (SSG)

Pre-rendering pages at build time for better performance.

Stock

Available quantity of a product for rent.

Stripe

Payment processing platform for handling credit card transactions.


T

Tailwind CSS

Utility-first CSS framework for rapid UI development.

Type Safety

TypeScript feature ensuring variables match expected types at compile time.

TypeScript

Typed superset of JavaScript providing compile-time type checking.


U

Unit Test

Test for a single function or component in isolation.

User

Person with account in the system. Can be ADMIN or CUSTOMER role.


V

Validation Schema

Zod schema defining expected data structure and constraints.

Vercel

Hosting platform optimized for Next.js applications.


W

WebP

Modern image format with better compression than JPEG/PNG.

Wishlist

Saved products a user wants to purchase later.


X

XSS (Cross-Site Scripting)

Security vulnerability prevented by proper input sanitization and React's automatic escaping.


Z

Zod

TypeScript-first schema validation library used for form and API validation.


Acronyms Quick Reference

AcronymFull Term
APIApplication Programming Interface
CRUDCreate, Read, Update, Delete
CSRFCross-Site Request Forgery
CI/CDContinuous Integration/Continuous Deployment
HTTPHypertext Transfer Protocol
ISRIncremental Static Regeneration
JWTJSON Web Token
MSWMock Service Worker
MVPMinimum Viable Product
ORMObject-Relational Mapping
RBACRole-Based Access Control
RESTRepresentational State Transfer
SKUStock Keeping Unit
SQLStructured Query Language
SSGStatic Site Generation
SSRServer-Side Rendering
UIUser Interface
UXUser Experience
XSSCross-Site Scripting

Common File Extensions

ExtensionDescription
.tsTypeScript file
.tsxTypeScript file with JSX (React)
.jsJavaScript file
.jsxJavaScript file with JSX
.cssCascading Style Sheets
.module.cssCSS Module (scoped styles)
.jsonJSON data file
.mdMarkdown documentation
.envEnvironment variables
.prismaPrisma schema file

Next.js Conventions

File-based Routing

  • app/page.tsx/ (homepage)
  • app/shop/page.tsx/shop
  • app/shop/[id]/page.tsx/shop/123 (dynamic route)
  • app/api/products/route.ts/api/products (API endpoint)

Special Files

  • layout.tsx - Shared layout wrapper
  • loading.tsx - Loading UI
  • error.tsx - Error boundary
  • not-found.tsx - 404 page
  • route.ts - API route handler

Database Terms

Primary Key

Unique identifier for database record (usually id).

Foreign Key

Reference to another table's primary key (e.g., categoryId references categories.id).

Relation

Connection between tables (one-to-many, many-to-many, etc.).

Index

Database optimization for faster queries on specific columns.

Transaction

Group of database operations that succeed or fail together.


Testing Terms

Test Coverage

Percentage of code executed by tests.

Mock

Fake implementation of a function/module for testing.

Assertion

Statement verifying expected test outcome (e.g., expect(value).toBe(10)).

Test Suite

Group of related tests (describe block).

Test Case

Individual test (it or test block).


See Also


Note: This glossary is maintained alongside the codebase. Please update when introducing new terms or technologies.

Documentation | Elite Events | Philip Rehberger