{"id":49871660,"url":"https://github.com/sujji-123/freelancerprojecthub_final_capstone_project","last_synced_at":"2026-05-15T08:04:02.069Z","repository":{"id":317400471,"uuid":"1066896129","full_name":"sujji-123/FreelancerProjectHUB_final_capstone_project","owner":"sujji-123","description":"Freelancer Project Hub is a full-stack MERN application that connects freelancers and clients for project collaboration. It features role-based authentication, real-time chat via Socket.IO, a Kanban-style task board, and cloud-based file uploads using Cloudinary. The application is deployed on an AWS EC2 instance with a MongoDB Atlas database.","archived":false,"fork":false,"pushed_at":"2025-09-30T15:46:02.000Z","size":24196,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-30T17:44:01.693Z","etag":null,"topics":["aws-deployment","cloudinary","freelance-platform","full-stack-web-development","jwt-auth","mern-stack","real-time-chat","rest-api","single-page-app","socket-io"],"latest_commit_sha":null,"homepage":"http://51.20.85.41","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sujji-123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-30T05:39:19.000Z","updated_at":"2025-09-30T15:46:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"3913c128-5498-4870-bd04-d26018533cd9","html_url":"https://github.com/sujji-123/FreelancerProjectHUB_final_capstone_project","commit_stats":null,"previous_names":["sujji-123/freelancerprojecthub_final_capstone_project"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sujji-123/FreelancerProjectHUB_final_capstone_project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sujji-123%2FFreelancerProjectHUB_final_capstone_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sujji-123%2FFreelancerProjectHUB_final_capstone_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sujji-123%2FFreelancerProjectHUB_final_capstone_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sujji-123%2FFreelancerProjectHUB_final_capstone_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sujji-123","download_url":"https://codeload.github.com/sujji-123/FreelancerProjectHUB_final_capstone_project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sujji-123%2FFreelancerProjectHUB_final_capstone_project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33058965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-deployment","cloudinary","freelance-platform","full-stack-web-development","jwt-auth","mern-stack","real-time-chat","rest-api","single-page-app","socket-io"],"created_at":"2026-05-15T08:03:58.153Z","updated_at":"2026-05-15T08:04:02.064Z","avatar_url":"https://github.com/sujji-123.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" Connect \u0026 Collaborate: Freelancer Project Hub\nWelcome to the Freelancer Project Hub, a full-stack MERN web application designed to streamline project management and collaboration between freelancers and clients. This platform provides a centralized workspace, moving beyond the initial hiring phase to focus on the active project lifecycle—from proposal to payment.\n\nThis project was developed to gain hands-on experience in building a complete, industry-relevant application with a decoupled client-server architecture. It addresses common challenges in project management by offering a dedicated environment for collaboration, task management, and secure transactions.\n\nKey Features in Detail\n1. Robust, Role-Based User Authentication\nThe platform implements a secure and distinct authentication system for two primary user roles: Clients and Freelancers.\n\nSecure Registration \u0026 Login: Users can sign up and log in based on their role. All passwords are encrypted using \n\nbcryptjs to ensure data security.\n\n\n\nJWT-Based Authentication: The system uses JSON Web Tokens (JWT) for secure user authentication. Once a user logs in, a unique token is generated and stored, allowing for persistent and secure sessions across the application.\n\n\n\n\nRole-Specific Access Control: The application's architecture ensures that users have access only to the features relevant to their roles. For example, only clients can post projects, while only freelancers can submit proposals.\n\n\n\n2. Comprehensive Project \u0026 Proposal Management\nThe Freelancer Project Hub simplifies the process of connecting clients with skilled freelancers through an intuitive project and proposal system.\n\nProject Creation (Clients): Clients can easily post new projects, providing details such as the title, description, and budget. These projects are then listed on a marketplace page for freelancers to browse.\n\nMarketplace \u0026 Bidding (Freelancers): Freelancers can explore a list of all \"open\" projects and submit proposals for those that match their skills. Each proposal includes a cover letter and a bid amount.\n\n\nProposal Review (Clients): Clients have a dedicated section on their dashboard to review all incoming proposals for their projects. They can assess each freelancer's bid and cover letter and choose to either accept or reject the proposal, streamlining the hiring process.\n\n\n3. Real-Time Collaboration \u0026 Communication\nAt the core of the platform is a powerful, real-time collaboration system designed to keep clients and freelancers in sync throughout the project lifecycle.\n\n\nProject-Specific Chat: Each project has a dedicated, real-time chat window, powered by Socket.IO. This allows for instant and direct communication, eliminating the need for external messaging apps.\n\n\nLive Notifications: The application features a live notification system that alerts users to important events in real-time. This includes notifications for new messages, updates to task statuses, and the submission of new deliverables.\n\n4. Advanced Task \u0026 Deliverable Management\nThe platform includes a comprehensive set of tools for managing project tasks and deliverables, ensuring clarity and accountability for both parties.\n\n\nKanban-Style Task Board: A visual, Kanban-style task board allows users to create, assign, and track tasks through various stages: 'to-do', 'in-progress', and 'done'. This provides a clear, at-a-glance overview of project progress.\n\n\n\nCloud-Based File \u0026 Deliverable Uploads: The application is integrated with Cloudinary, a cloud-based solution for managing file and image uploads. Clients can upload project briefs and assets, while freelancers can submit their work for review. This ensures that all project-related files are stored securely and are easily accessible.\n\n\n5. Secure \u0026 Streamlined Payment Workflow\nThe Freelancer Project Hub provides a secure and straightforward system for managing project payments, ensuring that freelancers are compensated for their work in a timely manner.\n\nMock Financial Transactions: The platform simulates a professional financial workflow, allowing for secure project payments from clients to freelancers.\n\nInvoice Management: Freelancers can generate and upload invoices (as PDFs) for completed work, which clients can then review and approve for payment.\n\n6. User-Specific Dashboards \u0026 Profiles\nThe application features intuitive and user-friendly dashboards tailored to the specific needs of both clients and freelancers, along with detailed user profiles.\n\n\nFreelancer Dashboard: The freelancer dashboard provides a centralized hub to view active projects, track pending proposals, and monitor earnings statistics. It also includes job recommendations to help freelancers find new opportunities.\n\n\n\n\nClient Dashboard: The client dashboard allows for easy management of all posted projects, with filters for \"open,\" \"in-progress,\" and \"completed\" statuses. It also includes a dedicated section for reviewing incoming proposals and a \"Task Progress\" overview for all active projects.\n\n\n\nUser Profiles: Both clients and freelancers have profiles that display key information. Freelancer profiles can be enhanced with a portfolio, a list of skills, and reviews from past projects.\n\nTech Stack\nThis application is built with the \n\nMERN stack and other modern technologies to ensure a scalable, maintainable, and efficient platform.\n\n\nFrontend: React (with Vite), React Router DOM, Axios \n\n\nBackend: Node.js, Express.js \n\n\nDatabase: MongoDB Atlas (cloud database) \n\n\n\nReal-time Communication: Socket.IO \n\n\nAuthentication: JSON Web Tokens (JWT), Bcryptjs \n\n\nFile Storage: Cloudinary (for file and image uploads) \n\n\nVersion Control: Git \u0026 GitHub \n\n\nAPI Testing: Postman \n\nDeployment\nThe application is deployed on an AWS EC2 instance, providing a robust and scalable hosting environment. The database is managed using \n\nMongoDB Atlas, a fully-managed cloud database service.\n\n\nFuture Enhancements\nFuture plans for the project include:\n\nIntegrating a more robust payment gateway like \n\nStripe, complete with webhooks for transaction confirmation.\n\nImplementing public user profiles that display a user's projects, ratings, and reviews.\n\nAdding email notifications for important events such as new messages or project updates.\n\nDeveloping a native mobile application using a framework like \n\nReact Native to provide users with on-the-go access.\n\nDEPLOYED LINK:\nhttp://51.20.85.41 \n\nGITHUB REPO LINKS :\n-FRONTEND:\n  https://github.com/sujji-123/FreelancerProjectHub-frontend.git\n-BACKEND:\n  https://github.com/sujji-123/FreelancerProjectHub-backend.git","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsujji-123%2Ffreelancerprojecthub_final_capstone_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsujji-123%2Ffreelancerprojecthub_final_capstone_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsujji-123%2Ffreelancerprojecthub_final_capstone_project/lists"}