task bud
is a task management tool for holding yourself and your buddies accountable.
This repository is divided between Server and Client node.js packages.
-
Open
/server
in a terminal and runnpm install
to install dependencies. -
Create a cluster in MongoDB with a user authenticated through an X.509 certificate. Store the certificate somewhere safe in your local environment, preferably in a separate directory.
-
In the cluster, create a database (any name is fine). Inside the database create one collection named
task-lists
and another namedusers
. MongoDB will create documents for each user when signing up through the client. -
Back in
/server
, create a.env
based on.env.template
:- Assign your cluster's connection string to
MONGO_URI
(click here to learn how to find this in Atlas). - Assign the absolute filepath to your X.509 certificate as
MONGO_CERT_PATH
. - Assign the name of the database you just created to
MONGO_DB_NAME
. APP_URL
is only used for production.NODE_ENV
should bedevelopment
when running locally.
- Assign your cluster's connection string to
-
Run
npm run dev
to start the server.
-
Open
/client
in a terminal and runnpm install
to install dependencies. -
Create a
.env.local
file based on the other.env.template
:- The
SUPABASE
variables should match your Supabase configuration. - The
API_URL
variable is only used for production.
- The
-
Run
npm run dev
to start the client.
-
Visit
https://localhost:3000
in your browser. (Setting your browser to responsive mode is strongly recommended - the app is currently designed for PWA installation.) -
Sign up with a new account (this will create a new user in Supabase).
-
Repeat steps #1 & #2 in a separate browser with a different account.
-
Request to add one user from the other's account.
-
Accept the request.
-
Changes to one user's task list will be immediately reflected in the other's browser. (Task lists with no tasks display with 0% progress.)
- Buddy interactions
- Push notifications
- Streamlined UI (modal editor vs. separate page, multiple selection)
- Task categories
- Daily lists
- Progress tracking over weekly timespans
task bud
is licensed under the PolyForm Shield License 1.0.0
Required Notice: Copyright (c) kappanjoe (http://github.com/kappanjoe)
Licensor Line of Business: taskbud Task Management Software (http://taskbud.onrender.com)