DiscussionHub is a Stack Overflow–style discussion forum web application built using Java, JSP, MySQL, and Bootstrap.
The platform allows users to ask questions, post answers, interact through comments and votes, and receive notifications.
An admin panel is included to manage users and moderate content.
This project is developed as a full-stack learning and portfolio project, focusing on JSP-based backend development with real database integration.
DiscussionHub simulates a real-world Q&A platform where community members share knowledge through questions and answers.
The application demonstrates how frontend and backend logic work together using JSP without servlets.
Key goals of the project:
- Practical understanding of JSP and MySQL
- Session-based authentication
- Clean and reusable UI components
- Scalable database-driven design
- Beginner-friendly project structure
- HTML5
- CSS3 (external stylesheet)
- JavaScript
- Bootstrap (responsive UI)
- Java
- JSP (Java Server Pages only)
- MySQL
- Eclipse IDE
- Apache Tomcat Server
- Git & GitHub
- User registration and login
- Session-based authentication
- Profile management
- Secure access to user-only pages
- Users can post questions
- Other users can answer questions
- Questions and answers are linked to users
- View count tracking for questions
- Upvote and downvote questions and answers
- Prevents duplicate voting by the same user
- Highlights valuable content
- Categories for broad classification
- Tags for detailed topic filtering
- Many-to-many relationship between questions and tags
- Keyword-based search
- Filter questions by category or tag
- Sorting by recent activity or popularity
- Comments on both questions and answers
- Encourages discussion and clarification
- Notifications for new answers, comments, votes, and saved questions
- Read and unread status support
- Users can bookmark questions
- Each question can be saved once per user
- Separate admin login
- Manage users, questions, answers, and comments
- Remove spam or irrelevant content
DiscussionHub/
- Discussion/
- pages/
- user/
- admin/
- components/
- assets/
- db/
- pages/
- discussionhub.sql
- README.md
Database name: discussionhub
Tables:
- users
- admins
- questions
- answers
- comments
- category
- tags
- question_tags
- votes
- saved_questions
- notification
- contact
Create the database:
CREATE DATABASE discussionhub;
Import the schema:
SOURCE discussionhub.sql;
Update database credentials in:
/db/dbConnection.jsp
-
Clone the repository
git clone https://github.com/bharat1-cloud/DiscussionHub.git -
Open the project in Eclipse IDE
-
Configure Apache Tomcat Server
-
Import discussionhub.sql into MySQL
-
Run the project on the server
Open in browser:
http://localhost:8081/Discussion/pages/user/index.jsp
(Port may vary based on server configuration)
- JSP-based backend development
- MySQL database integration
- Session handling and authentication
- Modular project structure
- Real-world forum application workflow
- GitHub documentation best practices
- Private messaging between users
- Email-based notifications
- Reputation or point system
- Social media login (Google, GitHub)
- User badges and achievements
Bharat Yangandul
MCA Graduate (2025)
Aspiring Java Full Stack Developer
GitHub: https://github.com/bharat1-cloud
This project is developed for educational and learning purposes.