A beautiful, full-stack Jira alternative built with Next.js, Prisma, Clerk, and Neon PostgreSQL.
- 🎨 Beautiful dark UI with smooth animations and a polished design system
- 📋 Kanban Board with drag-and-drop issue management
- 🏃 Sprint Management — plan, start, and complete sprints
- 📝 Backlog View — grouped by sprint with collapsible sections
- 👥 Team Management — members, roles, and assignments
- 🔐 Auth with Clerk — Google, GitHub, and email sign-in
- 🗄️ Neon PostgreSQL + Prisma ORM
- ⚡ Zustand state management
- 📱 Fully responsive — works on mobile, tablet, and desktop
| Layer | Tech |
|---|---|
| Framework | Next.js 14 (App Router) |
| Styling | Tailwind CSS |
| Auth | Clerk |
| Database | Neon PostgreSQL |
| ORM | Prisma |
| State | Zustand |
| Icons | Lucide React |
| Animations | Tailwind CSS Animate |
git clone https://github.com/yourusername/sprinto.git
cd sprintonpm installcp .env.example .envFill in your .env:
DATABASE_URL="your_neon_postgresql_url"
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_xxxxx
CLERK_SECRET_KEY=sk_test_xxxxx
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboardnpm run db:push # Push schema to Neon
npm run db:studio # Explore data with Prisma Studionpm run devOpen http://localhost:3000 — you're live! 🎉
sprinto/
├── app/
│ ├── page.jsx # Landing page
│ ├── layout.jsx # Root layout (ClerkProvider)
│ ├── globals.css # Global styles
│ ├── auth/
│ │ ├── sign-in/page.jsx # Clerk sign-in
│ │ └── sign-up/page.jsx # Clerk sign-up
│ ├── dashboard/
│ │ └── page.jsx # Main dashboard
│ ├── project/[id]/
│ │ ├── layout.jsx # Project layout w/ tabs
│ │ ├── board/page.jsx # Kanban board
│ │ ├── backlog/page.jsx # Backlog view
│ │ └── settings/page.jsx # Project settings
│ └── members/
│ └── page.jsx # Team members
├── components/
│ ├── landing/ # Landing page sections
│ │ ├── Navbar.jsx
│ │ ├── Hero.jsx
│ │ ├── Features.jsx
│ │ ├── Topics.jsx # Evaluation topics
│ │ ├── Testimonials.jsx
│ │ ├── CTA.jsx
│ │ └── Footer.jsx
│ ├── layout/ # App shell
│ │ ├── Sidebar.jsx
│ │ ├── Header.jsx
│ │ └── ProjectTabs.jsx
│ ├── board/ # Core app views
│ │ ├── BoardView.jsx
│ │ ├── KanbanCard.jsx
│ │ ├── KanbanColumn.jsx
│ │ ├── BacklogView.jsx
│ │ ├── SettingsView.jsx
│ │ └── DashboardClient.jsx
│ ├── modals/
│ │ ├── IssueModal.jsx
│ │ └── CreateIssueModal.jsx
│ └── ui/ # Reusable primitives
│ ├── Avatar.jsx
│ ├── Badge.jsx
│ └── Button.jsx
├── hooks/
│ └── useStore.js # Zustand store
├── data/
│ └── seed.js # Demo seed data
├── lib/
│ ├── prisma.js # Prisma client
│ └── utils.js # Shared utilities + constants
├── prisma/
│ └── schema.prisma # Database schema
└── middleware.js # Clerk auth middleware
MIT © 2025 Sprinto
