A modern task management app built with Next.js 14, React, TypeScript, and Prisma. TaskFlow provides a comprehensive solution for managing tasks, and projects with an intuitive drag-and-drop Kanban board interface.
This repository is intentionally structured as a demo and sandbox for Bitovi's AI workflows:
- Understanding a codebase and generating copilot instructions
- Automatically implementing features from a Jira ticket
Reference materials:
- Instruction generation workflow
- Feature generation workflow
- Example Jira ticket used in this repo
- Figma designs
- Run the app locally with seeded sample data
- Explore the baseline experience on the
main
branch - Review the AI-completed feature for USER-13 on the
user-13-search-and-filter
branch - Compare branches and see exactly what the AI changed
- Optionally, follow the Bitovi workflows to reproduce the feature implementation with your own AI agent
- Next.js 14 App Router, React, TypeScript
- Prisma ORM with SQLite for local development
- shadcn/ui + Radix + Tailwind for UI
- Feature-based structure with server actions and typed components
Taskflow requires Node.JS version 18 or greater
-
Clone the repository
git clone https://github.com/bitovi/taskflow cd taskflow npm install
-
Set up the database
# Create, migrate and populate the database npm run db:setup
This will create sample users and tasks for testing. Default login credentials:
- Email:
[email protected]
- Password:
password123
- Email:
-
Start the development server
npm run dev
Then open http://localhost:3000
-
main
- Baseline application used as the starting point for AI feature work
- Visit /tasks to see the tasks page before the feature is implemented
-
user-13-search-and-filter
- Contains the implementation of Jira ticket USER-13
- Adds a searchable task bar and filter controls to the /tasks page
- Follows the project’s patterns (server actions, Prisma, shadcn/ui, accessibility)
Common Git operations for exploring the demo:
# Fetch all branches
git fetch --all
# Switch between the baseline and AI-implemented feature
git switch main
git switch user-13-search-and-filter
# See what changed between branches
git diff main...user-13-search-and-filter
Ticket: https://bitovi-training.atlassian.net/browse/USER-13
Feature summary:
- Adds a searchable input and filters on the /tasks page
- Lets users quickly find tasks by text, priority, and status
How to try it:
- Start the app (see Installation above)
- Log in with the seeded account or create your own
- ([email protected] / password123)
- On
main
, navigate to /tasks and note the baseline behavior - Switch to
user-13-search-and-filter
and refresh /tasks - Try searching by task title/description and filtering by priority/status
If you want to recreate the experience with your own AI agent, follow the Bitovi guides:
- Instruction generation
- Goal: produce a codebase-specific instruction file the AI will follow when writing code
- Guide: https://github.com/bitovi/ai-enablement-prompts/tree/main/understanding-code/instruction-generation
- Feature generation
- Goal: point your AI at a Jira ticket (e.g., USER-13) and have it implement the feature
- Guide: https://github.com/bitovi/ai-enablement-prompts/tree/main/writing-code/generate-feature
Suggested flow:
- Start on
main
- Provide your agent with the instruction generation prompt to build a coding conventions file
- Provide your agent with the feature generation prompt and the USER-13 ticket
- Let the agent create a feature branch and implement the change
- Compare your branch to
user-13-search-and-filter
to see how close you match
Available scripts:
npm run db:seed
— Populate the database with sample datanpm run db:clear
— Clear all data from the databasenpm run db:reset
— Clear and re-seed the database
The seed script creates:
- 7 sample users with different roles and profiles
- 30+ sample tasks with various priorities, statuses, and assignments
- Realistic task data including descriptions, due dates, and assignments
Local development database:
- Uses SQLite via Prisma (see
prisma/schema.prisma
) - Seeded data is safe to reset at any time using the scripts above
- Fork the repository
- Create a feature branch
- Follow the established code patterns
- Test your changes thoroughly
- Submit a pull request
This project is licensed under the MIT License.