Skip to content

YerraguntaAjayKumar/EntrePreneurHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EntrepreneurHub - DBMS Project

A comprehensive role-based collaboration platform that connects entrepreneurs with investors to foster business growth and innovation.

πŸ“‹ Project Overview

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

πŸ—οΈ Architecture

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)         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Project Structure

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)

πŸ—„οΈ Database Schema

Tables

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

Database Connection

  • Type: Oracle Database
  • Server: localhost:1521
  • Database: XEPDB1
  • User: system
  • Driver: Oracle JDBC 8 (ojdbc8.jar)

πŸš€ Getting Started

Prerequisites

  • Java Development Kit (JDK 8 or higher)
  • Oracle Database (XEPDB1) running locally on port 1521
  • Oracle JDBC driver (ojdbc8.jar) - included in lib/ folder

Build Instructions

  1. 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"
    
  2. Run the application:

    java -cp bin;lib/ojdbc8.jar Main

    Or use the VS Code Run task:

    Ctrl+Shift+B β†’ Select "Run EntrepreneurHub"
    

πŸ‘₯ User Roles & Features

1. Entrepreneur πŸ‘¨β€πŸ’Ό

  • Create and manage business ideas
  • View interested investors
  • Negotiate project terms
  • Track project progress
  • Real-time chat with investors

2. Investor πŸ’°

  • Discover business ideas
  • Evaluate opportunities
  • Fund promising projects
  • Monitor investments
  • Communicate with entrepreneurs

3. Admin πŸ›‘οΈ

  • User account management
  • Platform oversight
  • Approve/reject new users
  • Monitor all transactions

4. Guest πŸ”“

  • View login/registration screens
  • Access is restricted until account approval

πŸ”’ Authentication Flow

  1. Registration: New user submits registration form
  2. Pending Approval: Admin reviews user credentials
  3. Approved: User can login (only APPROVED users)
  4. Role-Based Access: Dashboard changes based on user role
  5. Session Management: User logout clears session

πŸ’¬ Communication Features

  • Real-time Chat: Direct messaging between entrepreneurs and investors
  • Message History: All conversations are persisted in database
  • Notification System: Users notified of new messages

🎯 Core Features

  • 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

πŸ”§ Configuration

VS Code Tasks

Two pre-configured tasks are available in .vscode/tasks.json:

  1. Build EntrepreneurHub - Compiles all Java sources to bin/ directory
  2. Run EntrepreneurHub - Executes the compiled application

Database Configuration

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";

πŸ“¦ Dependencies

  • Java Swing - GUI framework
  • Oracle JDBC 8 - Database connectivity
  • Oracle Database - Data persistence

βœ… Testing

Run the application and test the following workflows:

  1. User Registration & Login

    • Register new user β†’ Get admin approval β†’ Login
  2. Idea Management

    • Create idea β†’ View ideas β†’ Edit/Delete ideas
  3. Project Creation

    • Match idea with investor β†’ Create project β†’ Track status
  4. Communication

    • Send messages β†’ View chat history

πŸ“ Git Repository

πŸ› Troubleshooting

Compilation Errors

  • Ensure all .java files are in the src/ directory
  • Verify Oracle JDBC driver is in lib/ folder
  • Check Java version compatibility

Runtime Issues

  • Verify Oracle Database is running on localhost:1521
  • Confirm database credentials in DBConnection.java
  • Check database schema is properly created

ClassNotFoundException

  • Rebuild the project: javac -d bin ...
  • Verify classpath includes bin/ and lib/ojdbc8.jar

πŸ‘¨β€πŸ’» Development Team

Project: EntrepreneurHub - DBMS Collaborative Platform
Institution: VASAVI - IT4 DBMS Course
Year: 2026

πŸ“„ License

This project is developed as part of academic coursework.

πŸŽ“ Learning Outcomes

  • Database Design & Normalization
  • JDBC Programming
  • 3-tier Architecture Implementation
  • GUI Development with Java Swing
  • Transaction Management
  • Data Persistence Patterns

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages