Skip to content

Commit f1d8921

Browse files
committed
2 parents 0fe1c70 + 57cdb46 commit f1d8921

1 file changed

Lines changed: 95 additions & 24 deletions

File tree

README.md

Lines changed: 95 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

4876
1. **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

69101
3. **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

88123
4. **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

92129
5. **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

113161
1. **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

117167
2. **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

123175
3. **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

Comments
 (0)