Description: upSkill is a social learning platform designed to connect tech enthusiasts, fostering collaborative learning within specialized communities. Users can join communities, post questions, and access a curated list of courses for interactive education.
Technologies Used:
- Frontend:
- React, Redux Toolkit, HTML, CSS, JavaScript.
- Backend:
- Node.js, Express.js, MongoDB.
- Image Handling:
- Cloudinary for efficient image upload and rendering.
Project Highlights:
- Optimized image loading for improved performance (30x speed enhancement).
- Implemented debouncing in search to reduce unnecessary API calls by 70%.
- Utilized JSON Web Tokens (JWT) for secure authentication and authorization.
- Developed over 25 RESTful APIs to support various features.
- Implemented dark and light mode support for enhanced user experience.
- Clone this repository.
- Navigate to the project directory:
cd upSkill
. - Client (Frontend):
- Navigate to the client directory:
cd client
. - Install frontend dependencies:
npm install
. - Create a
.env
file in theclient
directory and add your frontend environment variables.REACT_APP_SERVER=http://localhost:xxxx
- Run the frontend:
npm start
.
- Navigate to the client directory:
- Server (Backend):
- Navigate to the server directory:
cd server
. - Install backend dependencies:
npm install
. - Create a
.env
file in theserver
directory and add your backend environment variables.MONGO_URL=mongodb+srv://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx PORT=xxxx JWT_SECRET=xxxxxxxxxxx CLOUD_NAME=xxxxxxxxxxx CLOUD_API=xxxxxxxxxxxxxxxx CLOUD_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxx
- Start the backend server:
node index.js
.
- Navigate to the server directory:
Contributing: Contributions are welcome! Fork this project, make your changes, and submit a pull request. 🛠️