The Cloud-Based Task Manager is a web application designed to streamline team task management. Built using the PostgreSql(Supabase), Express.js, React, and Node.js, this platform provides a user-friendly interface for efficient task assignment, tracking, and collaboration. The application caters to administrators and regular users, offering comprehensive features to enhance productivity and organization.
In a dynamic work environment, effective task management is crucial for team success. Traditional methods of task tracking through spreadsheets or manual systems can be cumbersome and prone to errors. The Cloud-Based Task Manager aims to address these challenges by providing a centralized platform for task management, enabling seamless collaboration and improved workflow efficiency.
With the rise of remote work and dispersed teams, there is a growing need for tools that facilitate effective communication and task coordination. The Cloud-Based Task Manager addresses this need by leveraging modern web technologies to create an intuitive and responsive task management solution. The MERN stack ensures scalability, while the integration of Redux Toolkit, Headless UI, and Tailwind CSS enhances user experience and performance.
-
User Management:
- Create admin accounts.
- Add and manage team members.
-
Task Assignment:
- Assign tasks to individual or multiple users.
- Update task details and status.
-
Task Properties:
- Label tasks as todo, in progress, or completed.
- Assign priority levels (high, medium, normal, low).
- Add and manage sub-tasks.
-
Asset Management:
- Upload task assets, such as images.
-
User Account Control:
- Disable or activate user accounts.
- Permanently delete or trash tasks.
-
Task Interaction:
- Change task status (in progress or completed).
- View detailed task information.
-
Communication:
- Add comments or chat to task activities.
-
Authentication and Authorization:
- User login with secure authentication.
- Role-based access control.
-
Profile Management:
- Update user profiles.
-
Password Management:
- Change passwords securely.
-
Dashboard:
- Provide a summary of user activities.
- Filter tasks into todo, in progress, or completed.
-
Frontend:
- React (Vite)
- Redux Toolkit for State Management
- Headless UI
- Tailwind CSS
-
Backend:
- Node.js with Express.js
-
Database:
- Postgresql with Supabase
The Cloud-Based Task Manager is an innovative solution that brings efficiency and organization to task management within teams. By harnessing the power of the MERN stack and modern frontend technologies, the platform provides a seamless experience for both administrators and users, fostering collaboration and productivity.
First, create the environment variables file .env
in the server folder. The .env
file contains the following environment variables:
- SUPABASE_URL =
your Supabase API URL
- SUPABASE_KEY =
your Supabase API Key
- JWT_SECRET =
any secret key - must be secured
- PORT =
8800
or any port number - NODE_ENV =
development
-
Setting up PostgreSQL in Supabase involves a few steps:
- Create an account in Supabase.
- Once logged in, click on "New Project" from the dashboard.
- Fill in the project details such as project name, password, and region.
- Click "Create new project" to proceed.
- After the project is created, navigate to the "Database" tab in the Supabase dashboard.
- You’ll see your PostgreSQL database details, including the connection string and credentials (host, port, database name, username, password).
- Create Tables according to the schema
-
Create a new database and configure the
.env
file with the Supabase connection URL.
- Open the project in any editor of choice.
- Navigate into the server directory
cd server
. - Run
npm i
ornpm install
to install the packages. - Run
npm start
to start the server.
If configured correctly, you should see a message indicating that the server is running successfully and Database Connected
.
First, create the environment variables file .env
in the client folder. The .env
file contains the following environment variables:
- VITE_APP_BASE_URL =
http://localhost:8800
#Note: Change the port 8800 to your port number.
- Navigate into the client directory
cd client
. - Run
npm i
ornpm install
to install the packages. - Run
npm start
to run the app onhttp://localhost:3000
. - Open http://localhost:3000 to view it in your browser.