A comprehensive platform connecting skilled developers with project owners, enabling seamless collaboration and project management in the tech industry.
- Overview
- Features
- Tech Stack
- Architecture
- Installation
- Configuration
- API Documentation
- Usage
- Contributing
- License
SkillBridge Pro is a modern, full-stack web application designed to bridge the gap between talented developers and project owners. The platform facilitates project discovery, application management, and seamless collaboration through an intuitive interface and robust backend services.
- For Developers: Discover exciting projects, showcase skills, and manage applications
- For Project Owners: Find skilled developers, manage projects, and track progress
- For Everyone: Streamlined communication, transparent processes, and efficient project management
- Advanced Search & Filtering: Find projects by skills, location, budget, and experience level
- AI-Powered Recommendations: Personalized project suggestions based on developer profiles
- Category-Based Browsing: Explore projects by technology stack and industry
- Real-time Updates: Stay updated with project status changes and new opportunities
- Profile Management: Comprehensive developer profiles with skills, experience, and portfolio
- Application Tracking: Monitor application status and manage applied projects
- Skill Endorsements: Receive and give skill endorsements from peers
- Portfolio Showcase: Display projects, achievements, and professional milestones
- AI Career Insights: Get personalized career recommendations and skill gap analysis
- Project Creation: Detailed project posting with requirements, budget, and timeline
- Applicant Management: Review, shortlist, and manage developer applications
- Team Collaboration: Invite team members and manage project roles
- Progress Tracking: Monitor project milestones and deliverables
- Analytics Dashboard: Track project performance and team productivity
- Multi-Provider OAuth: Google, GitHub, and LinkedIn authentication
- Role-Based Access Control: Secure access based on user roles
- JWT Token Management: Secure API authentication and session management
- Data Privacy: Comprehensive privacy settings and data protection
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark/Light Themes: Customizable interface themes
- Real-time Notifications: Instant updates and alerts
- Intuitive Navigation: User-friendly interface with smooth interactions
- React 18+ - Modern UI library with hooks and functional components
- Redux Toolkit - State management with RTK Query for API calls
- Tailwind CSS - Utility-first CSS framework for styling
- Lucide React - Beautiful, customizable icons
- Axios - HTTP client for API requests
- React Router - Client-side routing
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- Microservices Architecture - Scalable service-oriented design
- API Gateway - Centralized API management and routing
- JWT Authentication - Secure token-based authentication
- CORS & Helmet - Security middleware
- PostgreSQL - Robust relational database
- Drizzle ORM - Type-safe database toolkit
- Database Migrations - Version-controlled schema management
- Connection Pooling - Optimized database connections
- Docker - Containerization for consistent deployments
- Swagger/OpenAPI - Comprehensive API documentation
- ESLint & Prettier - Code quality and formatting
- Git - Version control with GitHub integration
SkillBridge Pro follows a microservices architecture with the following components:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Frontend โ โ API Gateway โ โ Microservices โ
โ (React) โโโโโบโ (Express) โโโโโบโ (Node.js) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ PostgreSQL โ
โ Database โ
โโโโโโโโโโโโโโโโโโโ
- API Gateway (
api-gateway): Central routing, authentication, and API documentation - User Service (
user-service): User management, authentication, and profiles - Project Service (
project-service): Project management, applications, and collaboration - Settings Service (
settings-service): User preferences and system configuration
- Node.js 18+ and npm
- PostgreSQL 15+
- Git for version control
-
Clone the repository
git clone https://github.com/yourusername/skillbridge-pro.git cd skillbridge-pro -
Install dependencies
# Install root dependencies npm install # Install all service dependencies npm run install:all
-
Set up the database
# Create database and run migrations npm run db:migrate # Seed the database with sample data npm run db:seed
-
Configure environment variables
# Copy environment files cp .env.example .env # Update database credentials in .env files # Update JWT secrets and OAuth credentials
-
Start the application
# Start all services npm start # Or start individual services npm run start:gateway # API Gateway (port 3000) npm run start:user # User Service (port 3001) npm run start:project # Project Service (port 3002) npm run start:settings # Settings Service (port 3003)
-
Start the frontend
cd client npm install npm run dev
Create .env files in each service directory with the following variables:
# Database Configuration
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your_password
DB_NAME=skillbridge_db
DB_SSL=false
# JWT Configuration
JWT_SECRET=your_jwt_secret_key
# OAuth Configuration
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
LINKEDIN_CLIENT_ID=your_linkedin_client_id
LINKEDIN_CLIENT_SECRET=your_linkedin_client_secret
# Server Configuration
PORT=3000
NODE_ENV=development-
Create PostgreSQL database
CREATE DATABASE skillbridge_db;
-
Run migrations
npm run db:migrate
-
Seed sample data
npm run db:seed
Access the interactive API documentation at:
- API Gateway:
http://localhost:3000/api-docs - User Service:
http://localhost:3001/api-docs - Project Service:
http://localhost:3002/api-docs - Settings Service:
http://localhost:3003/api-docs
POST /api/v1/auth/login- User loginPOST /api/v1/auth/register- User registrationPOST /api/v1/auth/oauth/google- Google OAuthPOST /api/v1/auth/oauth/github- GitHub OAuth
GET /api/v1/projects- List all projectsPOST /api/v1/projects- Create new projectGET /api/v1/projects/:id- Get project detailsPUT /api/v1/projects/:id- Update projectDELETE /api/v1/projects/:id- Delete project
POST /api/v1/projects/apply- Apply to projectGET /api/v1/projects/developer/applied-projects- Get developer's applied projectsGET /api/v1/projects/:id/applicants- Get project applicantsPUT /api/v1/projects/applicants/status- Update application status
GET /api/v1/user/profile- Get user profilePUT /api/v1/user/profile- Update user profileGET /api/v1/user/developers- List developersPOST /api/v1/user/{userId}/roles- Assign user roles
- Create Account: Sign up with email or OAuth providers
- Complete Profile: Add skills, experience, and portfolio
- Browse Projects: Use search and filters to find relevant projects
- Apply to Projects: Submit applications with cover letters
- Track Applications: Monitor application status and manage responses
- Manage Portfolio: Showcase projects and receive endorsements
- Create Account: Register as a project owner
- Post Projects: Create detailed project listings with requirements
- Review Applications: Evaluate developer applications and profiles
- Manage Team: Invite team members and assign roles
- Track Progress: Monitor project milestones and deliverables
- Analytics: View project performance and team productivity
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Run tests
npm test - Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
This project is licensed under the MIT License - see the LICENSE file for details.
- React Team - For the amazing frontend framework
- Node.js Community - For the robust backend runtime
- PostgreSQL Team - For the reliable database system
- Open Source Contributors - For the various libraries and tools used
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@skillbridgepro.com
- Real-time Chat: Integrated messaging system
- Video Interviews: Built-in video calling for interviews
- Payment Integration: Secure payment processing
- Mobile App: React Native mobile application
- Advanced Analytics: Comprehensive reporting dashboard
- AI Matching: Enhanced AI-powered project matching
- Time Tracking: Built-in time tracking and reporting
- File Sharing: Secure file sharing and collaboration
- v1.0.0 - Initial release with core features
- v1.1.0 - Added AI recommendations and enhanced search
- v1.2.0 - Improved UI/UX and mobile responsiveness
- v2.0.0 - Major architecture overhaul with microservices
Made with โค๏ธ by the SkillBridge Pro Team