Subash-Lamichhane/TaskSphere

TaskSphere is an efficient and user-friendly task management web application designed to streamline team collaboration and task management.

★ 0Forks 0JavaScriptGitHub ↗Compare

README


TaskSphere

Watchers Forks Star Issue Open Pull Request License

Overview

TaskSphere is an efficient and user-friendly task management web application designed to streamline team collaboration and task management. It uses Permit.io to assign roles to different users, such as admin, manager, and employee, each with distinct permissions to create, delete, read, change status, and manage tasks and staff.

Problem Statement

In many organizations, managing tasks and ensuring accountability across teams can be challenging. Common issues include:

  • Lack of Clear Task Assignment: Without a structured system, tasks can be assigned informally, leading to confusion and overlapping responsibilities.
  • Poor Progress Tracking: Teams struggle to keep track of task progress, resulting in missed deadlines and uncompleted tasks.
  • Inefficient Communication: Important updates and changes in task status may not be communicated effectively, causing delays and misunderstandings.
  • Limited Role-Based Access: Not all team members need the same level of access to task management functionalities, yet many systems fail to differentiate roles adequately.

Key Features

TaskSphere addresses these challenges with the following features:

Role-Based Access Control

TaskSphere uses Permit.io to manage roles and permissions seamlessly, ensuring that users have the appropriate access to tasks and functionalities based on their roles (admin, manager, or employee).

Task Management

Users can view, create, update, and delete tasks and change the status of their assigned tasks, facilitating efficient workflow management.

Employees can view and manage their assigned tasks and users if permitted. Managers can view and manage tasks within their teams, as well as those assigned to them. Admins have full access to view, manage all tasks in the database, manage users based on permissions assigned to them from permit.io. These permissions can be easily changed from permit.io.

Staff Management

Users can manage staff, including assigning tasks and monitoring progress, ensuring that team members are working effectively and collaboratively.

User-Friendly Interface

TaskSphere boasts a clean, intuitive interface designed with Tailwind CSS, making it easy for users to navigate and manage their tasks efficiently.

Demo

TaskSphere.mp4

Getting Started

Dependencies

  • Node.js
  • React
  • Express
  • MongoDB
  • Permit.io
  • Docker

Installation

Clone the Repository

git clone https://github.com/Subash-Lamichhane/TaskSphere.git

Frontend Setup

Navigate to the frontend directory and install dependencies:

cd TaskSphere/frontend
yarn

Start the development server:

yarn run dev

Backend Setup

Navigate to the server directory and install dependencies:

cd ../backend
yarn install

Set up the environment variables by creating a .env file in the backend directory and add your permit.io key:

PERMIT_KEY='permit_key_********************************'

Pull PDP container

docker pull permitio/pdp-v2:latest

Run the container

docker run -it \
  -p 7766:7000 \
  --env PDP_API_KEY= YOUR_PERMIT_KEY\
  --env PDP_DEBUG=True \
  permitio/pdp-v2:latest

Here you have to add your YOUR_PERMIT_KEY key to connect to permit.io.

Start the backend server:

yarn run dev

Usage

Visit the frontend application by opening your browser and navigating to:

http://localhost:5173/

Ensure the backend server is running at:

http://localhost:3000

Screenshots

Landing Page: Landing1

Home Page: HomePage

About Page: AboutPage

Task Details Page: TaskDetails

Contributing

We welcome contributions from the community! If you'd like to contribute to StudyMate, please follow these steps:

  1. Fork the Repository: Click the "Fork" button on GitHub to create your copy.

  2. Clone Your Fork:

    git clone https://github.com/Subash-Lamichhane/TaskSphere.git
  3. Create a Branch:

    git checkout -b your-branch-name
  4. Make Changes: Implement your changes.

  5. Commit Your Changes:

    git commit -m "Description of your changes"
  6. Push Your Changes:

    git push -u origin your-branch-name
  7. Create a Pull Request: Submit your changes for review.

License

This project is licensed under the MIT License.

Acknowledgments


Contributors

Subash-Lamichhane

Issues