Hitch is a Collaborative Workspace Platform, leveraging the power of Next.js and MongoDB. Featuring robust authentication, versatile workspace structures, and cutting-edge huddle sessions, Hitch redefines collaboration. Efficiently manage channels, subchannels, and permissions for precise control. Elevate teamwork with dedicated sections for notes, discussions, and advanced file sharing, including version control and automated categorization. With a modern tech stack, encompassing Node.js, MongoDB, and Socket.IO, Hitch ensures a high-performance and dynamic collaboration experience. Join us on an unparalleled collaborative journey.
- Nodejs (v16.18.0)
- Nextjs
- MongoDB
- WebSockets - SocketIO
- Antd/Tailwind/MUI
- NextUI
- Vercel
-
Secure Authentication & Authorization:
- Robust user authentication and role-based authorization ensure a secure collaboration environment.
-
Workspace Structure:
- Effortless creation and management of workspaces, offering multiple channels for organized collaboration.
-
Channel Management:
- Precision control over channels, supporting subchannels, locking, and role assignment for effective organization.
-
Notes and File Sharing:
- Dedicated sections within channels for notes, discussions, and seamless file uploads and sharing.
-
Roles and Permissions:
- Granular control with roles such as admin, member, and guest, defining specific access permissions for efficient management.
-
Huddle Feature:
- Real-time audio and video conferencing within channels, enhancing communication and collaboration.
-
Centralized Filtered File Sharing:
- Streamlined document management with advanced filters, version control, and automated categorization for efficient file sharing.
You need npm/yarn installed in your local machine in order to run this app.
npm install
npm start
| .env.example
| .gitignore
| app.js
| package-lock.json
| package.json
| README.md
|
\---src
+---config
|
+---controllers
|
+---enums
|
+---middlewares
|
+---models
|
+---public
|
+---routes
|
\---utils
- Make sure your machine is having internet connection.
- Open shell (which ever your OS support) on your PC.
- Change drive to the location where you want your project to be copied.
- Clone it to your local setup by using command git clone
<repo link>
. - Once cloned, Run the following command in the root directory of the project
npm install
. - Make sure you have required enviornment variables saved in the
.env
file in the root of the project. A file.env.example
is attached for reference. - After the process is completed, run the command
npm start
. - The backend will be live on
localhost:4000
.
- Download and install the latest version of Git.
- Set your username in Git.
- Set your commit email address in Git.
- Antd Docs
- NextUI Docs
- Setup Nodejs
Comment on the issue. In case of no activity on the issue even after 2 days, the issue will be reassigned. If you have difficulty approaching the issue, feel free to ask on our discord channel.
Whether you are working on a new feature or facing a doubt please feel free to ask us on our discord channel. We will be happy to help you out.
Please help us follow the best practice to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.
-
People before code: If any of the following rules are violated, the pull-requests must not be rejected. This is to create an easy and joyful onboarding process for new programmers and first-time contributors.
-
Single commit per pull request and name the commit as something meaningful, example: Adding <-your-name-> in students/mentors section.
-
Reference the issue numbers in the commit message if it resolves an open issue. Follow the PR Template Issue: < ISSUE NUMBER >
-
Provide the link to live gh-pages from your forked repository or relevant screenshot for easier review.
-
Pull Request older than 3 days with no response from the contributor shall be marked closed.
-
Do not make PR which is not related to any issues. You can create an issue and solve it once we approve them.
-
Avoid duplicate PRs, if need be comment on the older PR with the PR number of the follow-up (new PR) and close the obsolete PR yourself.
-
Be polite: Be polite to other community members.