Skip to content

Namann-14/kanvas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽจ Kanvas

The Modern Kanban Workspace for Teams & Individuals

A full-stack, production-ready productivity platform featuring real-time Kanban boards, workspace collaboration, and seamless task management โ€” built with cutting-edge technologies.


Next.js React TypeScript Tailwind CSS Prisma PostgreSQL Redis

๐Ÿš€ Live Demo ยท ๐Ÿ›  Installation ยท ๐Ÿค Contributing


๐Ÿš€ Demo / Live Link

๐ŸŒ Live Application: https://kanvasapp.vercel.app
๐Ÿ“š Documentation: https://kanvasapp.vercel.app/docs


kanvas land page

๐Ÿ‘จโ€๐Ÿ’ป About the Developer

Naman Nayak

Hi, I'm Naman ๐Ÿ‘‹

A passionate Full-Stack Developer with strong experience in modern web development and building production-ready applications.

Portfolio LinkedIn GitHub

Open to collaborations, freelance projects, and exciting opportunities!


๐Ÿง  Features

โœจ Core Features

  • ๐ŸŽฏ Intuitive Kanban Boards โ€” Drag-and-drop task management with smooth animations
  • ๐Ÿข Multi-Workspace Support โ€” Create and manage multiple workspaces for different projects
  • ๐Ÿ‘ฅ Team Collaboration โ€” Invite members with role-based permissions (Admin, Editor, Viewer)
  • ๐Ÿ” Secure Authentication โ€” Email/Password & OAuth (Google, GitHub) via Better Auth
  • โšก Real-time Updates โ€” Live synchronization powered by Redis caching
  • ๐Ÿ“ฑ Fully Responsive โ€” Optimized for desktop, tablet, and mobile devices

๐ŸŽจ User Experience

  • ๐ŸŒ™ Dark/Light Theme โ€” Beautiful theming with next-themes
  • ๐Ÿ–ฑ๏ธ Smooth Drag & Drop โ€” Powered by @dnd-kit for seamless interactions
  • ๐ŸŽฌ Fluid Animations โ€” Framer Motion for delightful micro-interactions
  • ๐Ÿ“Š State Management โ€” Redux Toolkit for predictable state handling

๐Ÿ”ง Developer Experience

  • ๐Ÿ“ Type Safety โ€” Full TypeScript support across the stack
  • ๐Ÿ“š Auto-generated Docs โ€” Fumadocs-powered API documentation
  • ๐Ÿงน Code Quality โ€” ESLint, Prettier, and Husky pre-commit hooks
  • ๐Ÿ—ƒ๏ธ Database Migrations โ€” Prisma migrations for safe schema changes

๐Ÿ“ฆ Tech Stack

Frontend

Next.js React TypeScript Tailwind Redux Framer

Backend & Database

Prisma PostgreSQL Redis Better Auth

UI Components

Radix Lucide dnd-kit


๐Ÿ›  Installation & Setup

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js 18.x or higher (Download)
  • npm or pnpm package manager
  • Git for version control
  • A Supabase account (or PostgreSQL database)
  • An Upstash Redis account (free tier available)

Quick Start

1๏ธโƒฃ Clone the Repository

git clone https://github.com/Namann-14/kanvas.git
cd kanvas

2๏ธโƒฃ Install Dependencies

npm install

3๏ธโƒฃ Set Up Environment Variables

Create a .env file in the root directory:

cp .env.example .env

Then configure your environment variables (see Environment Variables section).

4๏ธโƒฃ Set Up the Database

# Generate Prisma client
npx prisma generate

# Run database migrations
npx prisma migrate dev

# (Optional) Seed the database with sample data
npm run db:seed

5๏ธโƒฃ Start the Development Server

npm run dev

6๏ธโƒฃ Open Your Browser

Navigate to http://localhost:3000 โ€” you're all set! ๐ŸŽ‰


โš™๏ธ Environment Variables

Create a .env file with the following variables:

# Database (Supabase PostgreSQL)
DATABASE_URL="postgresql://user:password@host:5432/database?schema=public"
DIRECT_URL="postgresql://user:password@host:5432/database?schema=public"

# Redis (Upstash)
UPSTASH_REDIS_REST_URL="https://your-redis-url.upstash.io"
UPSTASH_REDIS_REST_TOKEN="your-redis-token"

# Authentication (Better Auth)
BETTER_AUTH_SECRET="your-super-secret-key"
BETTER_AUTH_URL="http://localhost:3000"

# OAuth Providers (Optional)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"

# Application
NEXT_PUBLIC_APP_URL="http://localhost:3000"

๐Ÿ’ก Get your keys:


๐Ÿงช Running Tests

# Run linting
npm run lint

# Run formatting check
npm run format

# Check database data
npm run db:check

๐Ÿง—โ€โ™‚๏ธ Folder Structure

kanvas/
โ”œโ”€โ”€ ๐Ÿ“ docs/                    # Documentation (Fumadocs)
โ”‚   โ”œโ”€โ”€ api/                    # API documentation
โ”‚   โ””โ”€โ”€ *.md                    # Markdown docs
โ”œโ”€โ”€ ๐Ÿ“ prisma/
โ”‚   โ”œโ”€โ”€ schema.prisma           # Database schema
โ”‚   โ”œโ”€โ”€ migrations/             # Database migrations
โ”‚   โ””โ”€โ”€ seed.ts                 # Seed script
โ”œโ”€โ”€ ๐Ÿ“ public/                  # Static assets
โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ app/                 # Next.js App Router
โ”‚   โ”‚   โ”œโ”€โ”€ (auth)/             # Authentication pages
โ”‚   โ”‚   โ”œโ”€โ”€ (dashboard)/        # Dashboard pages
โ”‚   โ”‚   โ”œโ”€โ”€ api/                # API routes
โ”‚   โ”‚   โ””โ”€โ”€ docs/               # Documentation pages
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard/          # Dashboard components
โ”‚   โ”‚   โ”œโ”€โ”€ kibo-ui/            # Custom UI kit
โ”‚   โ”‚   โ””โ”€โ”€ ui/                 # shadcn/ui components
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ contexts/            # React contexts
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ generated/           # Generated Prisma types
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ hooks/               # Custom React hooks
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ lib/                 # Utilities & configs
โ”‚   โ”‚   โ”œโ”€โ”€ actions/            # Server actions
โ”‚   โ”‚   โ””โ”€โ”€ queries/            # Database queries
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ providers/           # React providers
โ”‚   โ””โ”€โ”€ ๐Ÿ“ store/               # Redux store
โ”œโ”€โ”€ .env.example                # Environment template
โ”œโ”€โ”€ package.json                # Dependencies
โ”œโ”€โ”€ tailwind.config.ts          # Tailwind configuration
โ””โ”€โ”€ tsconfig.json               # TypeScript configuration

๐Ÿ›ฃ Roadmap

โœ… Completed

  • User authentication (Email, OAuth)
  • Workspace creation and management
  • Kanban board with drag-and-drop
  • Task CRUD operations
  • Real-time sync with Redis
  • Dark/Light theme support
  • Responsive design
  • API documentation

๐Ÿšง In Progress

  • Task comments and attachments
  • Due dates and reminders
  • Task priority levels
  • Search and filtering

๐Ÿ”ฎ Future Plans

  • AI-powered task summarization
  • Real-time team collaboration (WebSockets)
  • Analytics dashboard
  • Custom Kanban templates
  • Mobile app (React Native)
  • Keyboard shortcuts
  • Import/Export functionality

๐Ÿค Contributing

Contributions are what make the open-source community amazing! Any contributions you make are greatly appreciated.

How to Contribute

  1. Fork the repository
  2. Clone your fork
    git clone https://github.com/your-username/kanvas.git
  3. Create a feature branch
    git checkout -b feature/amazing-feature
  4. Commit your changes
    git commit -m "feat: add amazing feature"
  5. Push to your branch
    git push origin feature/amazing-feature
  6. Open a Pull Request

Contribution Guidelines

  • Follow the existing code style
  • Write meaningful commit messages (we use Conventional Commits)
  • Add tests for new features when applicable
  • Update documentation as needed

โญ Support This Project

If you found this project helpful or learned something from it, please consider:

๐ŸŒŸ Give it a Star!

Star this repo

Your star helps others discover this project and motivates me to keep improving it!

๐Ÿด Fork & Build

Fork this repo

Fork the repo and build something amazing on top of it!

๐Ÿ“ฃ Share

Share this project with your network if you think it could help others!


๐Ÿ“ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.

MIT License

Copyright (c) 2025 Naman Nayak

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Made with โค๏ธ by Naman Nayak


Portfolio LinkedIn


If you're a recruiter or collaborator, feel free to reach out!


Star โญ this repo if you found it useful!

About

๐ŸŽจ A modern, full-stack Kanban workspace for teams & individuals โ€” featuring drag-and-drop boards, real-time sync, multi-workspace support, and seamless collaboration. Built with Next.js 16, React 19, TypeScript, Prisma & PostgreSQL.

Topics

Resources

License

Stars

Watchers

Forks

Contributors