This is a modern ticket management application built with Next.js, designed to help teams track and manage support tickets efficiently. The application provides a clean, intuitive interface for creating, updating, and organizing tickets with different statuses.
- Ticket Creation and Management: Create new tickets with titles and detailed content
- Ticket Status Tracking: Support for multiple ticket statuses (Open, In Progress, Closed)
- Real-time Updates: Server actions for seamless CRUD operations
- Responsive UI: Built with modern React components and Tailwind CSS
- Database Integration: Uses Prisma ORM with PostgreSQL for robust data management
- Testing: Comprehensive test suite with Vitest
- Type Safety: Full TypeScript support throughout the application
- Framework: Next.js 14+ with App Router
- Database: Prisma ORM with PostgreSQL
- Styling: Tailwind CSS with custom components
- UI Components: Custom component library (inspired by shadcn/ui)
- Testing: Vitest with React Testing Library
- Language: TypeScript
- Linting: ESLint with custom configuration
app/
├── features/ticket/ # Ticket-related pages and components
├── tickets/ # Ticket listing and detail pages
└── layout.tsx # Root layout
components/
├── ui/ # Reusable UI components
├── form/ # Form-related components
└── theme/ # Theme provider and switcher
lib/
├── prisma.ts # Prisma client setup
└── generated/ # Auto-generated Prisma types
prisma/
├── schema.prisma # Database schema
└── seed.ts # Database seeding script
- Node.js 18+
- PostgreSQL database
- npm, yarn, pnpm, or bun
- Clone the repository:
git clone <repository-url>
cd codepark- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Set up the database:
# Configure your database connection in prisma/schema.prisma
npx prisma migrate dev
npx prisma db seed- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 with your browser to see the application.
npm run dev- Start the development servernpm run build- Build the application for productionnpm run start- Start the production servernpm run test- Run the test suitenpm run lint- Run ESLint for code quality checks
This project uses Prisma for database management:
- Migrations:
npx prisma migrate dev- Create and apply migrations - Studio:
npx prisma studio- Open Prisma Studio for database visualization - Reset:
npx prisma migrate reset- Reset database and migration history
Run tests with:
npm run testTests are written with Vitest and React Testing Library, focusing on component behavior and user interactions.
The application can be deployed to Vercel, Netlify, or any platform supporting Next.js applications. Make sure to configure your database connection string in the deployment environment.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
This project is licensed under the MIT License.