A Stack Overflowβstyle Q&A web application built using Node.js, Express, EJS, and MySQL, with clean and responsive frontend using HTML, CSS, and JavaScript.
- π Ask and answer technical questions
- π Filter questions by tags
- π Voting system (upvote/downvote)
- π User authentication
- π Dynamic leaderboard or question popularity
- π Questions ordered by recency
| Layer | Tech Used |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Backend | Node.js, Express, EJS |
| Database | MySQL |
| ORM/Query | mysql2 with async/await |
| View Engine | EJS Templating |
- Node.js v18+ (or v22 for full compatibility)
- MySQL server
- Git (optional but recommended)
git clone https://github.com/yourusername/stackit.git
cd stackit
npm install-
Import the database using the db_schema.sql file:
mysql -u your_mysql_user -p stackit < db_schema.sql -
Update database credentials in the db.js file to match your MySQL setup:
const db = mysql.createPool({ host: 'localhost', user: 'your_mysql_user', password: 'your_mysql_password', database: 'stackit', });