@@ -11,41 +11,70 @@ SkillHub is a platform designed to connect freelancers and employers, enabling t
1111- ** Real-time Notifications:** Stay updated with instant notifications for new bids, messages, and project updates
1212- ** Profile Management:** Comprehensive profile system for showcasing skills, experience, and portfolio
1313- ** Search & Filter:** Advanced search functionality to find relevant jobs and talents
14+ - ** Performance Optimized:** Utilizes Redis caching and MongoDB indexing for fast response times
15+ - ** Real-time Analytics:** Admin dashboard with real-time platform statistics and visualizations
16+ - ** Secure Payments:** Integrated wallet system with secure transaction handling
1417
1518## Technology Stack
1619
1720### Frontend
18- - React.js
19- - Material-UI
20- - Redux for state management
21+
22+ - React.js with Vite for fast development
23+ - Material-UI & TailwindCSS for styling
24+ - Redux Toolkit for state management
2125- Socket.io for real-time features
26+ - Recharts for data visualization
2227
2328### Backend
29+
2430- Node.js
2531- Express.js
26- - MongoDB
32+ - MongoDB with optimized indexing
33+ - Redis for caching
2734- JWT for authentication
35+ - Socket.io for real-time communication
36+ - Swagger for API documentation
37+
38+ ### DevOps & Testing
39+
40+ - Jest for unit testing
41+ - Performance testing suite
42+ - Docker support
43+ - Continuous monitoring
44+ - Automated cache management
45+
46+ ## Performance Features
47+
48+ - Redis caching for frequently accessed data
49+ - Optimized MongoDB indexing
50+ - Rate limiting for API protection
51+ - Response compression
52+ - Static asset optimization
53+ - Lazy loading components
2854
2955## Group 06
3056
31- | Name | Roll No. |
32- | ------------------ | ------------------- |
33- | Mithun U | S20220010139 |
34- | Varshitha B | S20220010028 |
35- | Shrishti | S20220010202 |
36- | Trinay Mitra | S20220010194 |
37- | Vikas | S20220010185 |
57+ | Name | Roll No. |
58+ | ------------ | ------------ |
59+ | Mithun U | S20220010139 |
60+ | Varshitha B | S20220010028 |
61+ | Shrishti | S20220010202 |
62+ | Trinay Mitra | S20220010194 |
63+ | Vikas | S20220010185 |
3864
3965# Getting Started
4066
4167## Prerequisites
68+
4269- Node.js (v14 or higher)
4370- MongoDB
71+ - Redis (v3.1.2)
4472- npm or yarn package manager
4573
4674## Installation Guide
4775
48761 . ** Clone the Repository:**
77+
4978 ``` bash
5079 git clone https://github.com/codegasms/SkillHub.git
5180 cd skillhub
@@ -55,76 +84,113 @@ SkillHub is a platform designed to connect freelancers and employers, enabling t
5584 Create ` .env ` files in both client and server directories:
5685
5786 Server ` .env ` :
87+
5888 ```
5989 PORT=5000
6090 MONGODB_URI=your_mongodb_connection_string
6191 JWT_SECRET=your_jwt_secret
92+ REDIS_URL=your_redis_url
6293 ```
6394
6495 Client ` .env ` :
96+
6597 ```
66- REACT_APP_API_URL =http://localhost:5000
98+ VITE_API_URL =http://localhost:5000
6799 ```
68100
691013 . ** Install Dependencies:**
70102
71103 Install root dependencies:
104+
72105 ``` bash
73106 npm install
74107 ```
75108
76109 Server setup:
110+
77111 ``` bash
78112 cd server
79113 npm install
80114 ```
81115
82116 Client setup:
117+
83118 ``` bash
84119 cd ../client
85120 npm install
86121 ```
87122
881234 . ** Database Setup:**
124+
89125 - Ensure MongoDB is running on your system
90- - The server will automatically create the required collections
126+ - Start Redis server
127+ - The server will automatically create the required collections and indexes
91128
921295 . ** Running the Application:**
93130
94131 Development mode:
132+
95133 ``` bash
96134 # From the root directory
97135 npm run dev # Runs both client and server concurrently
98136 ```
99137
100138 Or run separately:
139+
101140 ``` bash
102141 # Run server (from server directory)
103- npm start
142+ npm start # Regular mode
143+ npm run dev # Development mode with nodemon
104144
105145 # Run client (from client directory)
106- npm run dev
146+ npm run dev # Vite dev server
107147 ```
108148
109- The client will run on ` http://localhost:3000 ` and the server on ` http://localhost:5000 `
149+ The client will run on ` http://localhost:5173 ` and the server on ` http://localhost:5000 `
150+
151+ 6 . ** Running Tests:**
152+ ``` bash
153+ # From server directory
154+ npm test # Run all tests
155+ npm run test:coverage # Run tests with coverage report
156+ npm run test:performance # Run performance tests
157+ ```
110158
111159## Usage Guide
112160
1131611 . ** Registration/Login:**
162+
114163 - Create a new account or login with existing credentials
115164 - Choose between Freelancer or Employer account type
165+ - Complete your profile with skills and portfolio
116166
1171672 . ** For Employers:**
118- - Post new jobs with detailed descriptions
168+
169+ - Post new jobs with detailed descriptions and requirements
119170 - Review and accept bids from freelancers
120- - Manage ongoing projects
121- - Release payments and provide reviews
171+ - Manage ongoing projects through the dashboard
172+ - Release payments and provide detailed reviews
173+ - Track project progress and communication
122174
1231753 . ** For Freelancers:**
124- - Browse available projects
125- - Submit bids on interesting projects
126- - Manage ongoing work
127- - Receive payments and feedback
176+
177+ - Browse available projects with advanced filters
178+ - Submit competitive bids on interesting projects
179+ - Manage ongoing work through the dashboard
180+ - Receive secure payments
181+ - Build reputation through client feedback
182+ - Showcase portfolio and skills
183+
184+ 4 . ** For Administrators:**
185+ - Access admin dashboard for platform overview
186+ - Monitor user activities and transactions
187+ - View real-time analytics and reports
188+ - Manage user accounts and permissions
189+ - Configure system settings
190+
191+ ## API Documentation
192+
193+ Access the API documentation at ` http://localhost:5000/api-docs ` when running the server.
128194
129195## Contributing
130196
@@ -136,4 +202,9 @@ SkillHub is a platform designed to connect freelancers and employers, enabling t
136202
137203## License
138204
139- This project is licensed under the MIT License.
205+ This project is licensed under the MIT License - see the [ LICENSE] ( LICENSE ) file for details.
206+
207+ ## Acknowledgments
208+
209+ - Thanks to all contributors who have helped shape SkillHub
210+ - Special thanks to our mentors and advisors
0 commit comments