Pile Overflow
Mar 2022PersonalMar 20226 technologies11 features
About this project
A Stack Overflow clone built as a monorepo with a React 17 frontend (Vite, React Bootstrap) and a Node.js Express API connected to MySQL. Features JWT authentication with bcrypt password hashing, full Q&A CRUD operations, an answer upvote/downvote toggle system, and question resolved/unresolved status management.
Questions are categorized with 17 predefined tech tags (JavaScript, Python, React, etc.) with auto-suggest when creating or editing. Each user gets one answer per question with upsert behavior.
Dedicated profile pages display each user's questions and answers. Includes password recovery via Nodemailer with time-limited JWT reset tokens, and React Context for session state with localStorage persistence.
Features
User registration and login with JWT authentication and bcrypt password hashing
Question CRUD with title, description, and tag association (17 predefined tech tags with auto-suggest)
Answer CRUD with one-answer-per-user policy (edit or delete your own answer)
Toggle upvote/downvote voting system on answers with per-user deduplication
Mark/unmark questions as resolved with visual status indicator
Search questions by title with results showing tags and resolved status
User profile pages displaying all owned questions and answers
Question ownership verification for edit/delete/resolve permissions
Password recovery flow via email with time-limited JWT reset tokens
Public question browsing without login required
React Context session management with localStorage persistence
Tech Stack
ReactNode.jsExpress.jsMySQLBootstrapJWT