Overview of My Submission
Workshift is an open source application for organisations that allows organisation members to collaborate with each other. It is a realtime chat platform built on MongoDB Atlas and utilises many features provided by MongoDB Atlas and MongoDB Realm.
Link to hosted demo (might be slow because the backend is hosted on a $1 DigitalOcean droplet: https://workshift.gq
Link to source code: https://github.com/arnu515/workshift
Submission Category:
Choose your own adventure
Link to Code
Workshift - The all-in-one app for organisations (BETA)
Worshift is an application for organisations that provides realtime communications. It was built for a hackathon and is currently in beta.
Hosted demo: https://workshift.gq
P.S.: The demo will be slow because the backend is hosted on a $6 DigitalOcean droplet
Host the app yourself
Prerequisites
You will need:
- A server to host. Get $100 credit on digitalocean by signing up using this link.
- A MongoDB Realm Application connected to a MongoDB Atlas Cluster.
- A Pusher application for realtime support.
- A Backblaze B2 Storage bucket, or any AWS S3 compatible bucket for file storage
- Optionally: A Github OAuth App and a Discord app for OAuth.
-
NodeJS version 14 or higher, and
yarn
andlerna
commands installed globally usingsudo npm i -g yarn lerna
.
Host locally
A Docker Image is provided for the backend. The frontend can be built andβ¦
Additional Resources / Info
Workshift uses these MongoDB Realm features:
- MongoDB Atlas for data storage
- Atlas Search for searching for users to invite
- Realm functions and triggers for sending events to Pusher when something has changed in the database
- Realm HTTPS endpoints to implement Atlas Search in the frontend without exposing secrets
- Realm hosting for storing common assets (https://assets.workshift.gq)
Workshift uses these additional providers:
- Vercel for hosting the frontend and landing page
- DigitalOcean for hosting the backend
- Pusher for realtime services
- Backblaze B2 for S3-compatible storage
- Github Actions for automated deployments
For information about the tech-stack and instructions on local hosting, checkout the README
Top comments (0)