WebWorkPro is a comprehensive MERN stack platform designed for freelance projects, fostering seamless interactions among users, developers, and admins.
WebWorkPro revolutionizes freelance collaboration with a set of robust features:
-
Secure Authentication and Authorization:
- Implemented JWT tokens for secure user authentication.
- Role-based authorization enhances platform security.
-
Real-time Communication:
- Integrated Socket.io for instant chat functionality.
- Nodemailer ensures seamless email communication, featuring a robust OTP resend functionality.
-
Engaging User Interactions:
- Enabled users to engage through commenting, following, star rating, search, and filtering.
-
Efficient Media Management:
- Implemented image uploading using Multer and Cloudinary for streamlined media content management.
-
Smooth Payment Transactions:
- Integrated Razorpay for seamless payment transactions.
- Automated handling of plan expirations using cron jobs ensures uninterrupted service.
-
Deployment and Hosting:
- Hosted the platform on AWS for robust infrastructure.
- Frontend deployed on Netlify for efficient user access.
- Secured a domain from Hostinger for a professional online presence.
- Node.js and Express.js: For building a scalable and efficient backend.
- MongoDB with Mongoose: As the database for storing user data and project information.
- JWT (JSON Web Tokens): Ensures secure user authentication.
- Socket.io: Enables real-time communication for instant chat functionality.
- Nodemailer: Used for seamless email communication, including OTP resend functionality.
- Bcrypt.js: For secure password hashing.
- Cloudinary: Manages media content efficiently.
- Dotenv: Manages environment variables.
- Express Validator: Ensures proper validation of input data.
- Razorpay: Integrates for smooth payment transactions.
- Multer: Handles file uploads efficiently.
- Node.js Cron Jobs: Automates handling of plan expirations.
- React.js: For building a dynamic and interactive user interface.
- Redux and Redux Toolkit: Manages state efficiently.
- Ant Design (Antd): Provides modern UI components.
- Axios: Makes HTTP requests to the backend.
- Charting Libraries: Chart.js, ApexCharts, React Chartjs 2 for data visualization.
- Date-fns: Facilitates convenient date manipulation.
- Framer Motion: Adds smooth and interactive animations.
- Lottie: Integrates lightweight animations.
- React Router Dom: Handles navigation within the application.
- React Hot Toast: Provides user-friendly notifications.
- React Icons: Offers a variety of icons.
- React Paginate: Facilitates paginated data display.
- Socket.io-client: Enables real-time communication with the backend.
- SweetAlert2: Integrates customizable modal dialogs.
Follow these steps to set up the project locally:
- Clone the repository
- Navigate to the
client
andserver
directories. - Install dependencies:
npm install
in both directories. - Set up environment variables: Create
.env
files in both directories. - Run the applications:
npm start
in both directories.
Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or create a pull request.
This project is licensed under the ISC License - see the LICENSE.md file for details.