An open-source, text-only social platform for thoughtful dialogue. Every post creates its own chatroom where people can quote, vote, and respond in real time.
Quote.Vote fosters deliberative, ad-free conversations for communities and civic collaboration. Built with modern web technologies including Next.js 16, React 19, TypeScript, GraphQL, and Tailwind CSS.
- Real-time Conversations: Each post creates its own chatroom for instant dialogue
- Quote & Vote System: Engage with content through quoting and voting mechanisms
- Text-Only Platform: Focus on thoughtful dialogue without distractions
- Modern Tech Stack: Built with Next.js 16, React 19, and TypeScript
- Type-Safe: Full TypeScript implementation for both frontend and backend
- Ad-Free: Clean, focused experience for meaningful discussions
This is a monorepo containing the complete Quote.Vote application:
quotevote-next/
├── quotevote-frontend/ # Next.js 16 frontend application
├── quotevote-backend/ # Express + TypeScript backend API
└── docs/ # Migration and project documentation
- Framework: Next.js 16 (App Router)
- UI Library: React 19
- Language: TypeScript (Strict Mode)
- Styling: Tailwind CSS 4.x
- Components: shadcn/ui
- State Management: Zustand
- GraphQL Client: Apollo Client
- Runtime: Node.js 20.x+
- Framework: Express 5.2.1
- Language: TypeScript (Strict Mode)
- GraphQL: Apollo Server
- Database: MongoDB with Mongoose
- Node.js: 20.x or higher
- pnpm: Latest version (install with
npm install -g pnpm) - MongoDB: Local instance or connection string (for backend)
git clone https://github.com/QuoteVote/quotevote-next.git
cd quotevote-nextcd quotevote-frontend
pnpm install
pnpm devThe frontend will be available at http://localhost:3000.
For detailed frontend documentation, see the Frontend README.
cd quotevote-backend
pnpm install
pnpm devThe backend will be available at http://localhost:4000.
For detailed backend documentation, see the Backend README.
- Frontend Documentation - Complete guide for the Next.js frontend
- Backend Documentation - Complete guide for the Express backend
- Migration Rules - Detailed migration guidelines and best practices
This project is a complete migration from the legacy codebase:
- Legacy Quotevote Repo - Monorepo containing both frontend and backend code
- Legacy Frontend - Original React 17/Vite codebase
- Legacy Backend - Original JavaScript/Babel/Express 4 codebase
We welcome contributions! Please ensure:
- All tests pass
- TypeScript compiles without errors
- Code follows the project's style guidelines
- Documentation is updated as needed
For detailed contribution guidelines, see the individual README files in the frontend and backend directories.
Quote.Vote is an open-source project. If you find it valuable, please consider supporting us:
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
Built with ❤️ by the Quote.Vote community