- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- API Documentation
- Deployment
- Contributing
- License
Nivesha is a comprehensive investment banking platform that facilitates connections between innovative companies and strategic investors. The platform serves as a bridge for entrepreneurs to reach multiple investors simultaneously and pitch their ideas, while providing investors with curated investment opportunities.
- 4000+ Startups Registered
- 2000+ Investors Registered
- 3000+ Successful Collaborations
- βΉ1,00,00,000+ Total Investments Facilitated
- Multi-role Registration: Support for Companies, Investors, and Admins
- Secure Authentication: JWT-based authentication with bcrypt password hashing
- Profile Management: Comprehensive user profiles with photo uploads
- Role-based Access Control: Different features and permissions based on user type
- Company Registration: Complete company profile creation
- Investment Tracking: Monitor all investments and equity gained
- Social Media Integration: Connect Twitter, Instagram, Facebook profiles
- Service Portfolio: Showcase company services and offerings
- Valuation Management: Track company valuation and growth
- Investor Dashboard: Comprehensive investment portfolio management
- Company Discovery: Browse and discover investment opportunities
- Investment History: Track all past and current investments
- Portfolio Analytics: Monitor total portfolio value and performance
- Grade System: Investor grading and reputation management
- Investment Creation: Facilitate new investment deals
- Equity Tracking: Monitor equity percentages and ownership
- Deal Management: Complete investment lifecycle management
- Pull Request System: Investment proposal and approval workflow
- Responsive Design: Mobile-first approach with Bootstrap
- Modern UI: Clean, professional interface with FontAwesome icons
- Real-time Updates: Dynamic content updates and notifications
- Feedback System: User feedback collection and management
- React 18.2.0 - Modern UI library
- Vite 5.1.6 - Fast build tool and dev server
- React Router 6.22.3 - Client-side routing
- Bootstrap 5.3.3 - CSS framework for responsive design
- FontAwesome 6.5.1 - Icon library
- Axios 1.6.7 - HTTP client for API calls
- Firebase 10.9.0 - File storage and additional services
- Node.js - JavaScript runtime
- Express.js 4.18.2 - Web application framework
- MongoDB 8.1.3 - NoSQL database
- Mongoose 8.1.3 - MongoDB object modeling
- JWT 9.0.2 - JSON Web Token authentication
- bcrypt 5.1.1 - Password hashing
- CORS 2.8.5 - Cross-origin resource sharing
- ESLint - Code linting and formatting
- Nodemon - Development server with auto-restart
- Dotenv - Environment variable management
nivesha/
βββ client/ # Frontend React application
β βββ public/ # Static assets
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page components
β β βββ context/ # React context providers
β β βββ hooks/ # Custom React hooks
β β βββ utils/ # Utility functions
β β βββ assets/ # Images and static files
β β βββ App.jsx # Main application component
β βββ package.json # Frontend dependencies
β βββ vite.config.js # Vite configuration
βββ api/ # Backend Node.js application
β βββ controller/ # Route controllers
β βββ models/ # MongoDB schemas
β βββ routes/ # API route definitions
β βββ utils/ # Utility functions
β βββ db.js # Database connection
β βββ index.js # Server entry point
β βββ package.json # Backend dependencies
βββ README.md # Project documentation
- Node.js (v16 or higher)
- MongoDB (local installation or MongoDB Atlas)
- Git
-
Clone the repository
git clone https://github.com/code-razz/Nivesha_ cd nivesha -
Install backend dependencies
cd api npm install -
Install frontend dependencies
cd ../client npm install -
Environment Setup
Create
.envfile in theapi/directory:MONGO_URL=your_mongodb_connection_string JWT=your_jwt_secret_key PORT=8000
Create
.envfile in theclient/directory:VITE_API_URL=http://localhost:8000/api FIREBASE_KEY=your_firebase_config
-
Start the development servers
Backend (Terminal 1):
cd api npm startFrontend (Terminal 2):
cd client npm run dev -
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
POST /api/auth/register- User registrationPOST /api/auth/login- User login
GET /api/users/:id- Get user profilePUT /api/users/:id- Update user profile
GET /api/company- Get all companiesPOST /api/company- Create company profilePUT /api/company/:id- Update company profileDELETE /api/company/:id- Delete company
GET /api/investor- Get all investorsPOST /api/investor- Create investor profilePUT /api/investor/:id- Update investor profileDELETE /api/investor/:id- Delete investor
GET /api/investments- Get all investmentsPOST /api/investments- Create new investmentPUT /api/investments/:id- Update investmentDELETE /api/investments/:id- Delete investment
GET /api/pullreq- Get all pull requestsPOST /api/pullreq- Create pull requestPUT /api/pullreq/:id- Update pull request status
- Connect your GitHub repository to Vercel
- Set build command:
npm run build - Set output directory:
dist - Configure environment variables
- Connect your GitHub repository
- Set environment variables
- Set start command:
npm start - Deploy the application
- Use MongoDB Atlas for cloud database
- Configure connection string in environment variables
- Set up proper security and access controls
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow ESLint configuration
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
- React and Vite communities for excellent tooling
- MongoDB team for robust database solutions
- Bootstrap team for responsive design framework
- All contributors and users of Nivesha
