Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
a857a6a
feat: Add core collaboration features and ML engine (excluding model …
AndrewJerryV Feb 26, 2026
9663114
Merge pull request #1 from AndrewJerryV/feature/task-scheduling
jisnu-glitch Feb 26, 2026
cb19f6c
feat: Add machine learning capabilities for task priority, urgency, a…
AndrewJerryV Feb 27, 2026
7dbb910
feat: refine ML recommendations and UI
AndrewJerryV Feb 27, 2026
a3ed0d4
feat: Implement core project and task management features, including …
AndrewJerryV Feb 27, 2026
b797f50
feat: Add ML-powered task recommendations API with heuristic fallback…
AndrewJerryV Feb 27, 2026
2c7c30e
feat: Implement UserHistoryModal to display user tasks, activity logs…
AndrewJerryV Feb 28, 2026
d42d57b
feat: Introduce initial task management system with API routes, proje…
AndrewJerryV Feb 28, 2026
07c4cb3
feat: Add Supabase database service and initial tasks API route.
AndrewJerryV Feb 28, 2026
5210c55
feat: Add initial User Acceptance Testing (UAT) cases for user, proje…
AndrewJerryV Feb 28, 2026
6818487
feat: Introduce core application features including notifications, me…
AndrewJerryV Mar 2, 2026
147ce90
feat: Add NotificationBell component for displaying and managing user…
AndrewJerryV Mar 2, 2026
46cc483
Fix auth flow, loading issue and Supabase client setup
FelvinJoseph Mar 2, 2026
08c9463
feat: Implement a comprehensive form builder with dedicated API endpo…
AndrewJerryV Mar 2, 2026
9720242
Merge branch 'main' into fix-auth-and-loading
AndrewJerryV Mar 2, 2026
93d3ebc
Merge pull request #2 from AndrewJerryV/fix-auth-and-loading
AndrewJerryV Mar 2, 2026
53f923b
feat: Implement Supabase authentication setup, context provider, and …
AndrewJerryV Mar 2, 2026
2d5a711
feat: Introduce user management features with a dedicated team page a…
AndrewJerryV Mar 2, 2026
d8f5a1b
feat: Implement project detail page and authentication context, remov…
AndrewJerryV Mar 2, 2026
7df22c4
feat: add user management dialog and database schema for detailed use…
AndrewJerryV Mar 3, 2026
f80d7c0
feat: Implement authentication context, authenticated layout with sea…
AndrewJerryV Mar 3, 2026
105073b
fix: Add new user
AndrewJerryV Mar 3, 2026
c4e400e
feat: Implement task creation, user skill editing, and user addition …
AndrewJerryV Mar 3, 2026
5bca3db
docs: add test credentials to README
AndrewJerryV Mar 3, 2026
42e7936
feat: Introduce team dashboard, implement OTP-based user deletion, an…
AndrewJerryV Mar 3, 2026
0bdd21f
feat: Implement project details page with task management, multiple v…
AndrewJerryV Mar 3, 2026
c175da1
feat: Add core database and Supabase utilities, task detail modal, an…
AndrewJerryV Mar 3, 2026
2149867
feat: Implement AI-powered task recommendations, assignment, and well…
AndrewJerryV Mar 3, 2026
c46fa2c
Refactor Supabase migrations and update user model
AndrewJerryV Mar 3, 2026
cb263d6
feat: Enhance authentication context with error handling and loading …
AndrewJerryV Mar 4, 2026
d243dc1
refactor: Simplify error handling and response structure in API route…
AndrewJerryV Mar 4, 2026
5b08724
feat: Update UI components and scripts for improved functionality and…
AndrewJerryV Mar 4, 2026
51636b0
feat: Implement ML-powered bottleneck analysis with enhanced data str…
AndrewJerryV Mar 4, 2026
5d5ccd3
feat: Implement presence tracking and project member retrieval APIs
AndrewJerryV Mar 4, 2026
30e4c14
feat: Implement core project management, activity logging, AI/ML feat…
AndrewJerryV Mar 4, 2026
d9956d2
feat: Implement calendar and chat views, user management, settings pa…
AndrewJerryV Mar 4, 2026
0eeb76d
feat: Implement reports and time tracking features, including new vie…
AndrewJerryV Mar 4, 2026
cc363bd
feat: Introduce time tracking analytics and deployment management fea…
AndrewJerryV Mar 4, 2026
c2f35db
feat: Introduce AI-powered task management with smart assignment, pri…
AndrewJerryV Mar 4, 2026
39d6e95
feat: Implement draggable task board with interactive task cards and …
AndrewJerryV Mar 4, 2026
45a67e6
feat: Establish initial project dashboard with project management fea…
AndrewJerryV Mar 5, 2026
ce41576
feat: implement time tracking analytics view with summary, user, task…
AndrewJerryV Mar 5, 2026
c15ab0d
feat: Add TimeTrackingView component for displaying comprehensive tim…
AndrewJerryV Mar 5, 2026
15945e4
feat: add TimerContext to provide global state for task timers, handl…
AndrewJerryV Mar 5, 2026
55ae6cf
feat: Implement a new login page with email/password and OAuth authen…
AndrewJerryV Mar 6, 2026
a8e1187
feat: Implement AI-powered smart task assignment, including a new API…
AndrewJerryV Mar 6, 2026
afc5a2b
feat: Implement user settings page with API endpoint for managing use…
AndrewJerryV Mar 6, 2026
57c4aae
feat: Fixed the padding in deployments
AndrewJerryV Mar 7, 2026
62b109c
feat: Implement core application pages for team, projects, and settin…
AndrewJerryV Mar 7, 2026
43742b9
style:redesign timeline component UI
jisnu-glitch Mar 10, 2026
827e019
feat: Introduce core task management UI components, ML recommendation…
AndrewJerryV Mar 11, 2026
d3d75ac
Merge branch 'main' of https://github.com/AndrewJerryV/TaskFlow-Mini_…
AndrewJerryV Mar 11, 2026
c4901f0
feat: Implement a new database service, time tracking functionality, …
AndrewJerryV Mar 12, 2026
a40b6f4
fix: improve dark mode contrast in Create Project dialog
jisnu-glitch Mar 12, 2026
711d6d7
feat- Added sleek hover effects, scaling, and pulse animations to the…
jisnu-glitch Mar 12, 2026
d350eb1
feat: Add GitHub integration with user stats card, code view, and use…
AndrewJerryV Mar 16, 2026
b108e84
Merge pull request #13 from AndrewJerryV/fix/create-project-dark-mode
AndrewJerryV Mar 17, 2026
c071f5d
Merge pull request #14 from AndrewJerryV/feature/ui-enhancements
AndrewJerryV Mar 17, 2026
53d5d5e
Add seed data for TaskFlow Web App, including users, tasks, time entr…
AndrewJerryV Mar 17, 2026
8ef5d3a
Refactor AI assignment logic and ML recommendations
AndrewJerryV Mar 17, 2026
c37d232
feat: Enhance local ML recommendations to suggest rescheduling for ov…
AndrewJerryV Mar 17, 2026
394ec3c
feat: Introduce machine learning models for task priority, assignment…
AndrewJerryV Mar 18, 2026
067ccca
feat: Implement core database utilities, AI models, task creation dia…
AndrewJerryV Mar 18, 2026
0b53180
feat: add core project management views, forms, and UI components for…
AndrewJerryV Mar 18, 2026
83af22a
feat: Introduce ML-powered task recommendations, AI assignment, and a…
AndrewJerryV Mar 25, 2026
6517515
feat: Establish initial Task Flow application with database schema, A…
AndrewJerryV Mar 26, 2026
03d0e0a
feat: Implement core Supabase integration, define comprehensive datab…
AndrewJerryV Mar 26, 2026
a9000ec
Refactor code structure for improved readability and maintainability
AndrewJerryV Apr 17, 2026
3ed33d1
feat(ui): implement advanced landing page and dashboard components
jisnu-glitch Apr 18, 2026
3bfa186
feat:redesign the ui of landing page
jisnu-glitch Apr 18, 2026
32542b2
Merge pull request #15 from jisnu-glitch/feature/landingpageui
AndrewJerryV Apr 18, 2026
ff71655
fix:navbar issue and removed free trail button
jisnu-glitch Apr 18, 2026
96c8e0d
feat: add open-source Supabase setup page
jisnu-glitch Apr 18, 2026
5ae37d8
Merge pull request #17 from jisnu-glitch/feature/open-source-setup
AndrewJerryV Apr 18, 2026
9343a89
fix: make all setup credential fields empty by default
jisnu-glitch Apr 18, 2026
b3ebac5
Merge pull request #18 from jisnu-glitch/feature/open-source-setup
AndrewJerryV Apr 19, 2026
6adad59
feat: add pnpm workspace configuration and Altcha widget type definit…
AndrewJerryV Apr 23, 2026
68972c9
fix: sync pnpm lockfile dependencies
AndrewJerryV Apr 23, 2026
710a494
fix: update navigation links to point to the dashboard
AndrewJerryV Apr 23, 2026
35d8ba5
feat: implement local environment vault for secure credential storage
AndrewJerryV Apr 23, 2026
55d451c
feat: add authentication redirect to dashboard on user login
AndrewJerryV Apr 23, 2026
6917522
feat: redirect authenticated users to dashboard from landing page
AndrewJerryV Apr 23, 2026
75a5cee
feat: Enhance task management with browser-based AI insights and mess…
AndrewJerryV Apr 23, 2026
1aa5d22
feat: implement project chat system with shared types, messaging UI, …
AndrewJerryV Apr 24, 2026
fcb736d
feat: implement interactive backlog view with task management, filter…
AndrewJerryV Apr 24, 2026
5d057c1
chore: remove sensitive environment configuration file
AndrewJerryV Apr 24, 2026
44b573c
Refactor: Remove legacy ML training script and wellness model
AndrewJerryV Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .env.local

This file was deleted.

20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# env file
.env.local

# dependencies
/node_modules
/.pnp
Expand Down Expand Up @@ -32,7 +35,24 @@ yarn-error.log*

# vercel
.vercel
.vscode

# typescript
*.tsbuildinfo
next-env.d.ts

# python
__pycache__/
*.py[cod]
ML/env/
.env
venv/
env/
ML/my_setfit_model/
ML/skill_matcher_model/
*.safetensors

# Retrained ML Models
ML/my_setfit_model_critical/

/supabase
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"liveServer.settings.port": 5501
}
185 changes: 166 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,183 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
# TaskFlow

TaskFlow is a Next.js project management workspace with Supabase-backed auth/data, guarded login via ALTCHA, and in-app ML features for prioritization, assignment, wellness, and bottleneck analysis.

## Current App Surface

- Public landing page at `/`
- Guided Supabase credential setup at `/setup`
- ALTCHA-gated auth at `/login`
- Authenticated home at `/dashboard`
- Team management at `/team`
- Workspace settings and local Env Vault at `/settings`
- Per-project workspace at `/projects/[id]`

Inside a project, the current UI includes:

- Kanban board
- Backlog
- Calendar
- Timeline
- Summary and reports
- Team chat and direct messages
- Time tracking
- Forms builder and responses
- Pages/documents
- Shortcuts
- Code/repository links
- Deployments
- Video room
- ML recommendations and bottleneck alerts

## Tech Stack

| Layer | Technology |
| --- | --- |
| Framework | Next.js 16 App Router |
| UI | React 19, TypeScript, Tailwind CSS |
| State/Contexts | Custom React contexts for auth, theme, and timers |
| Data/Auth | Supabase |
| CAPTCHA | ALTCHA |
| ML | In-app TypeScript engine plus `@xenova/transformers` |
| Charts | Recharts |
| Motion | Framer Motion |
| Drag and Drop | `@dnd-kit/*` |
| Icons | Lucide React |

## Main Features

### Authentication and Access

- Email/password sign-up and sign-in
- Google and GitHub OAuth
- ALTCHA verification required before auth actions
- Shared authenticated layout that routes signed-in users into the workspace
- Role-aware user and project management flows

### Project Operations

- Project creation and membership management
- Task CRUD with comments, priorities, assignees, tags, due dates, and status updates
- Kanban, backlog, calendar, and timeline views
- Notifications, activity feed, and per-user history
- Direct messages, project room chat, replies, reactions, and attachments
- Time entry and time-tracking summaries

### AI and ML

- Browser-side draft assistance through [`lib/ml-browser.ts`](./lib/ml-browser.ts)
- Server-side scoring and analytics through [`lib/ml-engine.ts`](./lib/ml-engine.ts)
- Transformer-based assignment analysis through [`lib/ml-transformers.ts`](./lib/ml-transformers.ts)
- Priority prediction
- Assignment recommendations
- Bottleneck detection
- Workload and wellness analysis
- Task clustering and recommendation endpoints

### Settings and Developer Workflow

- Workspace settings for profile, theme, AI preferences, notifications, and security
- Frontend-only local Env Vault in settings, encrypted with Web Crypto and stored in device local storage
- Guided `/setup` page for validating Supabase credentials before login
- API routes for projects, tasks, comments, forms, documents, notifications, meetings, GitHub data, ML, and admin checks

## Project Structure

```text
task-flow/
|- app/ # App Router pages and route handlers
| |- api/ # Backend endpoints used by the app UI
| |- dashboard/ # Authenticated dashboard
| |- login/ # ALTCHA-gated authentication
| |- projects/[id]/ # Per-project workspace
| |- settings/ # Workspace settings and local Env Vault
| |- setup/ # Supabase onboarding flow
| `- team/ # Team management
|- components/ # UI views, layout, modals, forms, charts
|- contexts/ # Auth, theme, and timer providers
|- lib/ # Supabase client, DB access, ML logic, utilities
|- public/ # Static assets
|- types/ # Shared TypeScript declarations
`- ML/ # Legacy Python experiments and archived model assets
```

## Environment Variables

Create a `.env.local` file in the project root:

```env
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
ALTCHA_HMAC_SECRET=your_altcha_hmac_secret
ALTCHA_HMAC_KEY_SECRET=optional_altcha_key_secret
```

Optional variables may still be useful depending on the flows you use:

- `NEXT_PUBLIC_SITE_URL` for explicit site URL resolution in auth redirects
- `NEXT_PUBLIC_VERCEL_URL` when running on Vercel
- SMTP-related variables if you wire up email delivery for OTP/member notifications

## Getting Started

First, run the development server:
### Prerequisites

- Node.js 18+
- npm
- A Supabase project with the tables/RPCs this app expects

### Install

```bash
npm install
```

### Run the app

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
Open `http://localhost:3000`.

Recommended first-run flow:

1. Add the required variables to `.env.local`.
2. Start the dev server.
3. Open `/setup` to validate the Supabase URL and anon key.
4. Apply the SQL you need in your Supabase project.
5. Continue to `/login` and sign in.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
## Database and Supabase Notes

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
- Runtime Supabase access lives in [`lib/supabase.ts`](./lib/supabase.ts).
- The repository still contains a top-level `supabase/` folder for migration/history material when present locally, but the app runtime depends on the client/config in `lib/`, not on that folder itself.
- The checked-in `.gitignore` currently ignores `/supabase`, so migration files may exist locally without being committed.
- Auth redirect URL resolution is handled through [`lib/site-url.ts`](./lib/site-url.ts).

## Learn More
## ML Runtime Notes

To learn more about Next.js, take a look at the following resources:
- The live app does not require a separate Python ML server.
- Current runtime ML paths are TypeScript-based and live under `lib/`.
- The `ML/` directory is legacy research/training material, not part of the current Next.js runtime.
- `next.config.ts` explicitly allows external server packages needed by the transformer/ONNX path.

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
## Scripts

```bash
npm run dev
npm run build
npm run start
npm run lint
```

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
## Known Repo Notes

## Deploy on Vercel
- `npm run lint` may be noisy if local repo state references paths that are no longer present.
- The settings Env Vault is frontend-only and stores encrypted values in local browser storage on the current device.
- Some helper/setup copy in the UI still assumes a local open-source/self-hosted style workflow around Supabase credentials.

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
## License

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
MIT
117 changes: 0 additions & 117 deletions __tests__/gap-features.test.ts

This file was deleted.

13 changes: 11 additions & 2 deletions app/api/activity/route.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
import { db } from '@/lib/db';
import { NextResponse } from 'next/server';

export async function GET() {
export async function GET(request: Request) {
try {
const logs = await db.getActivityLogs();
const { searchParams } = new URL(request.url);
const userId = searchParams.get('userId');

let logs;
if (userId) {
logs = await db.getActivityLogsForUser(userId);
} else {
logs = await db.getActivityLogs();
}

return NextResponse.json(logs);
} catch (error) {
console.error('Error fetching activity logs:', error);
Expand Down
Loading