Skip to content

andreispDev/MintFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MintFlow

An intermediate-to-advanced full-stack Admin Dashboard built with React.js, Supabase, and Tailwind CSS. The application provides user authentication, role-based access control, project management, task management with Kanban boards, analytics, and report generation with export capabilities.


πŸš€ Features

πŸ” Authentication

  • Login
  • Register
  • Forgot Password
  • Persistent Login Session
  • Protected Routes
  • Role-Based Authorization

πŸ‘₯ User Management

  • View all users
  • Search users
  • Filter by role
  • Update user roles
  • User profile modal
  • Admin-only access

Roles:

  • Admin
  • Manager
  • Employee

πŸ“Š Dashboard

Dashboard Overview includes:

  • Total Users
  • Total Projects
  • Total Tasks
  • Task Status Statistics
  • Project Progress
  • Analytics Charts

πŸ“ Project Management

  • Create Project
  • Edit Project
  • Delete Project
  • Project Progress
  • Project Status

Project Status

  • Planning
  • Active
  • On Hold
  • Completed

Project Details

  • Description
  • Creator
  • Priority
  • Progress Bar
  • Team Members

πŸ‘¨β€πŸ’» Team Management

Assign employees to projects.

Features

  • Add team members
  • Remove team members
  • View assigned members

βœ… Task Management

Every project has its own Kanban Board.

Features

  • Create Tasks
  • Assign Employees
  • Due Dates
  • Priority
  • Status

Task Status

  • Todo
  • In Progress
  • Done

Task Priority

  • Low
  • Medium
  • High

πŸ“Œ Kanban Board

Drag & Drop support using:

  • @hello-pangea/dnd

Move tasks between:

Todo

↓

In Progress

↓

Done

Changes are automatically saved to Supabase.


πŸ’¬ Task Collaboration

  • Task Comments
  • Task Activity History
  • Task Details Modal

πŸ“ˆ Reports

Generate reports for:

  • Users
  • Projects
  • Tasks

Supported Export Formats

  • CSV
  • Excel (.xlsx)
  • PDF

Libraries Used

  • xlsx
  • jspdf
  • jspdf-autotable
  • file-saver

πŸ€– AI Ready

The project includes an AI Assistant placeholder for future integration.

Possible AI features:

  • Project summaries
  • Task prioritization
  • Workload analysis
  • Report generation
  • Deadline predictions
  • Productivity insights

πŸ›  Tech Stack

Frontend

  • React.js
  • React Router DOM
  • Tailwind CSS
  • Recharts
  • Hello Pangea DnD

Backend

  • Supabase

Services Used

  • Authentication
  • PostgreSQL Database
  • Row Level Security
  • Storage (optional)

πŸ“‚ Project Structure

src/
β”‚
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ dashboard/
β”‚   β”œβ”€β”€ CreateProject.jsx
β”‚   β”œβ”€β”€ CreateTask.jsx
β”‚   β”œβ”€β”€ EditProject.jsx
β”‚   β”œβ”€β”€ EditTask.jsx
β”‚   β”œβ”€β”€ TaskBoard.jsx
β”‚   β”œβ”€β”€ UserModal.jsx
β”‚   β”œβ”€β”€ AssignMembers.jsx
β”‚   β”œβ”€β”€ DashboardStats.jsx
β”‚   β”œβ”€β”€ AIReport.jsx
β”‚   └── ...
β”‚
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ Dashboard.jsx
β”‚   β”œβ”€β”€ Login.jsx
β”‚   β”œβ”€β”€ Register.jsx
β”‚   β”œβ”€β”€ Users.jsx
β”‚   β”œβ”€β”€ Projects.jsx
β”‚   β”œβ”€β”€ ProjectDetails.jsx
β”‚   β”œβ”€β”€ Reports.jsx
β”‚   └── MyTasks.jsx
β”‚
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ projects.js
β”‚   β”œβ”€β”€ tasks.js
β”‚   β”œβ”€β”€ reports.js
β”‚   └── projectMembers.js
β”‚
β”œβ”€β”€ context/
β”‚   └── AuthContext.jsx
β”‚
β”œβ”€β”€ utils/
β”‚   └── export.js
β”‚
└── lib/
    └── supabase.js

πŸ—„ Database

Main Tables

profiles

projects

project_members

tasks

task_comments

task_activity

Relationships

Profiles
    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚            β”‚
Projects     Tasks
    β”‚            β”‚
    β”‚            β”‚
Project Members  Comments

πŸ” Authentication Flow

Register

↓

Supabase Authentication

↓

Profiles Table

↓

Login

↓

Protected Routes

↓

Dashboard

πŸ“‹ Report Flow

Supabase Database

↓

Reports Service

↓

React Dashboard

↓

CSV

Excel

PDF

πŸš€ Installation

Clone the repository

git clone https://github.com/yourusername/ai-admin-dashboard.git

Navigate into the project

cd ai-admin-dashboard

Install dependencies

npm install

Start the development server

npm run dev

βš™ Environment Variables

Create a .env file in the root directory.

VITE_SUPABASE_URL=YOUR_SUPABASE_URL
VITE_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY

πŸ“¦ Required Packages

npm install @supabase/supabase-js
npm install react-router-dom
npm install @hello-pangea/dnd
npm install recharts
npm install jspdf
npm install jspdf-autotable
npm install xlsx
npm install file-saver

🎯 Learning Objectives

This project demonstrates:

  • React Hooks
  • Context API
  • React Router
  • CRUD Operations
  • Authentication
  • Authorization
  • Database Relationships
  • Kanban Board
  • Drag & Drop
  • Dashboard Analytics
  • Report Generation
  • Exporting Data
  • Supabase Integration
  • Responsive UI Design

πŸ“Œ Future Improvements

  • AI-powered analytics
  • Email notifications
  • Real-time updates
  • File uploads with Supabase Storage
  • Calendar integration
  • Gantt chart
  • Dark mode
  • Audit logs
  • Multi-organization support
  • API documentation
  • Unit and integration testing
  • Docker support
  • CI/CD pipeline
  • Deployment to Vercel

πŸ“„ License

This project is intended for educational and portfolio purposes. You are free to modify and extend it for personal learning or showcase projects.


πŸ‘¨β€πŸ’» Author

Developed using:

  • React.js
  • Supabase
  • Tailwind CSS
  • JavaScript (ES6+)

Built as an intermediate full-stack portfolio project demonstrating modern web application development with authentication, project management, task tracking, analytics, and reporting.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages