A comprehensive role-based collaboration platform that connects entrepreneurs with investors to foster business growth and innovation.
EntrepreneurHub is a desktop application built with Java Swing that provides a complete ecosystem for:
- Entrepreneurs to pitch and manage their business ideas
- Investors to discover and evaluate investment opportunities
- Administrators to manage users and oversee platform operations
- Real-time communication between all parties through an integrated chat system
The project follows a 3-tier architecture:
βββββββββββββββββββββββββββββββββββββββ
β UI Layer (Swing GUI) β
β LoginUI, EntrepreneurUI, ChatUI β
βββββββββββββββββββββββββββββββββββββββ€
β Service Layer (Business Logic) β
β AuthService, IdeaService, etc. β
βββββββββββββββββββββββββββββββββββββββ€
β Data Access Layer (DAO) β
β UserDAO, IdeaDAO, ProjectDAO β
βββββββββββββββββββββββββββββββββββββββ€
β Database (Oracle XEPDB1) β
βββββββββββββββββββββββββββββββββββββββ
src/
βββ Main.java # Application entry point
βββ models/ # Entity classes
β βββ User.java # User entity with roles
β βββ Idea.java # Business idea entity
β βββ Project.java # Project entity
β βββ Agreement.java # Contract/agreement entity
β βββ Message.java # Message entity
βββ dao/ # Data Access Objects
β βββ UserDAO.java # User database operations
β βββ IdeaDAO.java # Idea database operations
β βββ ProjectDAO.java # Project database operations
β βββ AgreementDAO.java # Agreement database operations
β βββ MessageDAO.java # Message database operations
βββ service/ # Business logic layer
β βββ AuthService.java # Authentication & authorization
β βββ IdeaService.java # Idea management logic
β βββ ProjectService.java # Project management logic
β βββ AgreementService.java # Agreement processing
βββ ui/ # Swing GUI components
β βββ LoginUI.java # Login screen
β βββ RegisterUI.java # User registration
β βββ EntrepreneurUI.java # Entrepreneur dashboard
β βββ InvestorUI.java # Investor dashboard
β βββ AdminUI.java # Admin panel
β βββ ChatUI.java # Chat interface
β βββ components/ # Reusable UI components
β βββ Header.java # Dashboard header
β βββ Sidebar.java # Navigation sidebar
β βββ TableView.java # Data table component
βββ db/
βββ DBConnection.java # Oracle database connection
sql/
βββ schema.sql # Database schema definition
βββ test_data.sql # Sample test data
lib/
βββ ojdbc8.jar # Oracle JDBC driver
bin/ # Compiled bytecode (generated)
| Table | Purpose |
|---|---|
users |
User accounts with roles (ENTREPRENEUR, INVESTOR, ADMIN) and approval status |
idea |
Business ideas submitted by entrepreneurs |
project |
Projects linking ideas with investor involvement |
agreement |
Contracts and agreements between parties |
messages |
Real-time communication records |
- Type: Oracle Database
- Server: localhost:1521
- Database: XEPDB1
- User: system
- Driver: Oracle JDBC 8 (ojdbc8.jar)
- Java Development Kit (JDK 8 or higher)
- Oracle Database (XEPDB1) running locally on port 1521
- Oracle JDBC driver (ojdbc8.jar) - included in
lib/folder
-
Compile the project:
cd "path/to/EntrepreneurHub" javac -d bin -cp lib/ojdbc8.jar $(find src -name "*.java")
Or use the VS Code Build task:
Ctrl+Shift+B β Select "Build EntrepreneurHub" -
Run the application:
java -cp bin;lib/ojdbc8.jar MainOr use the VS Code Run task:
Ctrl+Shift+B β Select "Run EntrepreneurHub"
- Create and manage business ideas
- View interested investors
- Negotiate project terms
- Track project progress
- Real-time chat with investors
- Discover business ideas
- Evaluate opportunities
- Fund promising projects
- Monitor investments
- Communicate with entrepreneurs
- User account management
- Platform oversight
- Approve/reject new users
- Monitor all transactions
- View login/registration screens
- Access is restricted until account approval
- Registration: New user submits registration form
- Pending Approval: Admin reviews user credentials
- Approved: User can login (only APPROVED users)
- Role-Based Access: Dashboard changes based on user role
- Session Management: User logout clears session
- Real-time Chat: Direct messaging between entrepreneurs and investors
- Message History: All conversations are persisted in database
- Notification System: Users notified of new messages
- Idea Management: Create, edit, list, and delete business ideas
- Project Management: Link ideas with investors and manage projects
- Agreement Handling: Create and track contracts between parties
- User Management: Register, approve, and manage user accounts
- Chat System: Real-time communication platform
- Status Tracking: Monitor idea and project statuses
Two pre-configured tasks are available in .vscode/tasks.json:
- Build EntrepreneurHub - Compiles all Java sources to
bin/directory - Run EntrepreneurHub - Executes the compiled application
Update connection details in src/db/DBConnection.java:
private static final String URL = "jdbc:oracle:thin:@localhost:1521:XEPDB1";
private static final String USER = "system";
private static final String PASSWORD = "oracle";- Java Swing - GUI framework
- Oracle JDBC 8 - Database connectivity
- Oracle Database - Data persistence
Run the application and test the following workflows:
-
User Registration & Login
- Register new user β Get admin approval β Login
-
Idea Management
- Create idea β View ideas β Edit/Delete ideas
-
Project Creation
- Match idea with investor β Create project β Track status
-
Communication
- Send messages β View chat history
- Repository: https://github.com/YerraguntaAjayKumar/EntrePreneurHub
- Branch: main
- Build Status: β Compiles successfully
- Ensure all
.javafiles are in thesrc/directory - Verify Oracle JDBC driver is in
lib/folder - Check Java version compatibility
- Verify Oracle Database is running on localhost:1521
- Confirm database credentials in
DBConnection.java - Check database schema is properly created
- Rebuild the project:
javac -d bin ... - Verify classpath includes
bin/andlib/ojdbc8.jar
Project: EntrepreneurHub - DBMS Collaborative Platform
Institution: VASAVI - IT4 DBMS Course
Year: 2026
This project is developed as part of academic coursework.
- Database Design & Normalization
- JDBC Programming
- 3-tier Architecture Implementation
- GUI Development with Java Swing
- Transaction Management
- Data Persistence Patterns