jmtygsh/pulseboard-live-polls-for-feedback-pern — explained in plain English
Analysis updated 2026-05-18
Run the backend for a live polling and feedback tool with real-time vote updates.
Study a feature-module-based Express and Drizzle ORM backend structure with auth and business modules separated.
Build a voting or survey feature into a web app using the existing auth, poll, and analytics endpoints.
| jmtygsh/pulseboard-live-polls-for-feedback-pern | 0xradioac7iv/tempfs | abboskhonov/hermium | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a PostgreSQL database and environment configuration for JWT secrets and CORS.
PulseBoard is a live polling and feedback application. This repository contains its backend service, built with the PERN stack: PostgreSQL for the database, Express and Node.js for the server, written in TypeScript, and using Drizzle ORM, a tool that lets you write database queries in TypeScript rather than raw SQL, along with Socket.io for real-time communication. The codebase is organized around a shared common layer and feature based modules. The common layer holds application configuration for CORS, the database, and Socket.io, along with Express middleware for validation, authentication, and error handling, plus shared TypeScript type definitions and helper functions for things like API responses, JWT handling, and password hashing. On top of that, the backend is organized into two main feature modules. The auth module handles everything related to user accounts, including registration, login, email verification, password reset, token refresh, and logout. The poll module handles poll creation and management, covering creating a poll with questions and options, fetching a poll by its URL slug so people can vote, submitting a vote, retrieving analytics and results, and listing all polls the authenticated user has created. Each module separates its route definitions, controllers, business logic, and database queries into their own files, and uses Zod validation schemas to check incoming request data. Some poll facing endpoints use what the README calls soft-auth: they accept and parse an authentication token if one is present, so authenticated users can be tracked, but they do not block anonymous users when poll settings allow public voting. JWT, short for JSON Web Token, is used for managing authentication sessions and issuing access and refresh tokens. You would use this project as the backend for a web application where users create polls, share them with an audience, and see live results as votes come in, whether the voters are logged in or browsing anonymously.
A PERN stack backend for PulseBoard, a live polling app where users create polls, share them, and see votes and results update in real time.
Mainly TypeScript. The stack also includes TypeScript, PostgreSQL, Express.
No license file is mentioned in the README, so reuse terms are unclear.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.