Skip to content

WorkedIn is an application for people to share projects and collaborate with folks having good work ethics. Along with the skills , you can check the `WORK ETHICS` of the person if they would be suitable for collaboration

Notifications You must be signed in to change notification settings

Garvit1809/WorkedIn

Repository files navigation

WORKEDIN

Short Brief

WorkedIn is an application for people to share projects and collaborate with folks having good work ethics. Along with the skills , you can check the WORK ETHICS of the person if they would be suitable for collaboration

Contents:

  • About
  • How it Works
  • Upcoming Features
  • Contributing Guidelines
  • Tools and Packages
  • Author

✊ About

Look for right people to collaborate on projects with desirable skills and good WORK ETHICS.

We check work ethics of a person through CONTRACTS . Before starting a project, the team lead would create a contract between the team members and that contract would be shown in each member's profile. In this way, one can check the work ethics of a person through their past contracts whether they complete projects on time, ot they delay the projects frequently or if they are habitual of breaking or ghosting contract/projects.

You can checkout the demo video on youtube by clicking on the thumbnail below.

The site is in PROGRESS.


🤔How it works

Home page

Create a Post

You can create a post regarding your project or devs you are looking to collaborate with or you can view other users post as well in the post feed below. We also allow uers to comment, like and share their or other user's posts. If someone is interested in your project they may approach you through chat section.



Chat page

Create a Group Chat

Before starting a project, you would create a contract and contract could only be created inside a group chat. After a group chat is created with the members who'll be working on the project, the group admin | lead would create a contract and other members can accept it or reject it accordingly.
In the left section, you can view all your chats and on the right side, all team members of the selected chat appear.

There are different symbols in front of the Group Chat names :-
1) Open Lock :- Tells that contract hasn't been approved by all members or not even contracted
2) Closed Lock :- Tells that contract has been made and no member can casually exit the group. (Quitting the group would lead to breaking the contract)
3) Broken Lock :- Tells that contract was broken, maybe someone left the project or someone ghosted
4) Double Tick :- Tells that contract was successfully completed within dueDate

Contract Contract

Initialise Contract

Only the Admin or Group lead can initilaise CONTRACT. In the contract, the lead needs to specify Project's name, description, starting and due date and role and responsibilities of every member.
Once the contract is initialised, other members have to accept the contract. Until the contract isn't accepted by all, the contract isn't actually created.
Once the contract is approved by all members, the group chat is now locked and the contract would be visible in each members profile.
Only the admin can update or delete the contract, other team members can only accept or reject the contract, same while making a project submission.




Contract Submission

Contract Submission

Users have to make a submission in their contracts before the due-date. Only the Admin can initialise the submission which further would need approval from every other member. In the submission, it is required to submit the github link, deployed version of the project (if available) and at least 3 screenshots of the project or work done in contract. The whole submission would then have to be approved by other members and then only the actual submission would take place.




All Contract page

All Contracts

User can view all his contract (approved or not) in the Contracts Page. From here, the user can view contracts, accept or deny contract approvals and also accept the contract submission. Only the contracts which are approved will be shown in th profile page but in Contracts page, all contracts would be shown that the user is a part of.


profile page

Past Contracts

You can check a user's past projects/contracts in their profile page. Only approved contracts would be added to the past projects section in a users profile. Through these contracts, one can infer that if that person would be fit for collaborating on the project. If they complete their projects, or they are habitual of leaving the projects pending or they often break the contracts.

The contract has different status as :-
1) In-Progress :- When submission is to be made and contract hasn't reached its due date.
2) Completed :- When submission has been made before the due date.
3) Delayed :- When submission hasn't been made yet and contract has crossed the due date.
4) Broken :- When someone left the contract in between or a successful ghost strike has been made.


🚀Upcoming Features

  1. Ghost Strike Logic :- For someone ghosting the project, team members can file a Ghost Request and if the person against whom the ghost request is registered doesn't responds within a time limit, the contract will break and it would be declared that that ghost broke the contract.

  2. Leave Chat API :- If the contract is either broken or successful, members would have then access to exit the group chat.

  3. Socket.io Implementation :- For now, we havent implemented Socket.io logic due to which while sending a message in a chat, the page has to reload to show the posted messsage. To avoid this, we would implement Socket.io logic both in client and server, so that users can have a smooth messaging experience.

  4. Review System :- After finishing the contract, team members would give reviews to other members, which would be shown in the contract for a better conclusion of one's work ethics.

  5. ActivityBox :- We would like to show recent activities in the application, like contract creation, contract submission and more.

  6. ProfileBox :- We are showing User's stats in the Profile Box in the Home page where we would show Contract Stats, Karma (ratings after finishing contract) and Profile Views. For Karma, it would be a virtual field averaging the ratings from all contracts of the user. Rest of the stats would be taken from User's model.


🌟Contribute

We welcome everyone either be Beginner or Expeienced in open source community to contribute to this project. You can suggest a new feature or can start working on any upcoming feature.

But make sure to raise an issue first before working on any feature and always create a different branch than main.

Be sure to read the WorkedIn Contributor Guide on how to get started with the project and start contributing 😁.


🧰 Tools & Packages

Client Dependencies

Package Description version
axios A promise-based HTTP library 1.1.2
react-icons Include popular icons in your React project 4.7.1
react-image-gallery React component for building image galleries and carousels 1.2.11
react-router-dom Enables you to implement dynamic routing in a web app 6.4.1
react-toastify A package that allows to add notifications to our app with ease 9.0.8
styled-components A library which lets you write CSS in your JavaScript 5.3.6

Server Dependencies

Package Description version
bcryptjs A library to help you hash password 2.4.3
cors A package providing express middleware 2.8.5
dotenv A library that loads environment variables from a .env file into process.env 16.0.2
express Node.js web application framework for server side scripting 4.18.1
html-to-text Advanced converter that parses HTML and returns beautiful text 8.2.1
jsonwebtoken To securely transfer information over the web 8.5.1
mongoose Elegant mongodb object modeling for node.js 6.8.0
nodemailer A Node. js module that allows you to send emails from your server with ease 6.8.0
pug A template engine for Node and browser 3.0.2
validator A library of string validators and sanitizers. 13.7.0

Server devDependencies

Package Description version
nodemon A library to automatically restart node application 2.0.16

👦 Author

portfolio linkedin twitter

About

WorkedIn is an application for people to share projects and collaborate with folks having good work ethics. Along with the skills , you can check the `WORK ETHICS` of the person if they would be suitable for collaboration

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published