https://github.com/devzgabriel/deer-ticket
https://github.com/devzgabriel/deer-ticket
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/devzgabriel/deer-ticket
- Owner: devzgabriel
- Created: 2025-03-05T13:29:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T16:35:00.000Z (over 1 year ago)
- Last Synced: 2025-03-16T20:16:41.737Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://deer-ticket-web.vercel.app
- Size: 511 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🦌 Deer Ticket
A modern ticket management system built with NestJS and React Vite in a Turborepo monorepo.
Overview •
Features •
Architecture •
Getting Started •
Tech Stack •
API
### 🚧 Disclaimer
I had problems to deploy the backend of application, so I decided to deploy only the frontend with mocks. You can access the application in the link below:
- [Deer Ticket](https://deer-ticket.vercel.app/)
## 🔍 Overview
Deer Ticket is a streamlined platform designed for efficient team ticket management. Create, assign, and track tickets with skill-based routing to ensure tasks reach the right team members.
## ✨ Features
- **🎟️ Ticket Submission** - Create tickets with title, description, and deadline
- **🎯 Skill-based Assignment** - Automatically route tickets to qualified team members
- **📊 Status Tracking** - Monitor ticket progress through a clean dashboard
- **👥 Team Management** - Organize members and their skills for optimal task distribution
## 🏗️ Architecture
Deer Ticket is built as a full-stack monorepo using Turborepo with:
- **Backend**: NestJS REST API with Prisma ORM
- **Frontend**: React with Vite, TypeScript, and shadcn/ui
- **Infrastructure**: Turborepo for monorepo management
## 🚀 Getting Started
### Prerequisites
- Node.js 16+
- yarn (recommended) or npm/yarn
### Installation
```bash
# Clone the repository
git clone https://github.com/devzgabriel/deer-ticket.git
cd deer-ticket
# Install dependencies
yarn install
# Configure environment variables
cp apps/api/.env.example apps/api/.env
# Edit apps/api/.env with your database settings
# Setup the database
yarn db:migrate
```
### Development
```bash
# Start all services
yarn dev
```
Access the app at:
- Frontend: [http://localhost:5173](http://localhost:5173)
- API: [http://localhost:3000](http://localhost:3000)
### Database Management
```bash
# Run database migrations
yarn db:migrate
```
### Building for Production
```bash
# Build all packages
yarn build
```
## 💻 Tech Stack
### Backend (NestJS)
- REST API with full CRUD operations
- Prisma ORM with SQLite database
- Input validation with class-validator
- Skill-based ticket assignment logic
### Frontend (React + Vite)
- Modern React with hooks and TypeScript
- Form handling with react-hook-form
- UI components with shadcn/ui
- State management with React Query
## 📋 API Documentation
### Endpoints
#### Tickets
| Method | Endpoint | Description |
| ------ | --------------------- | -------------------- |
| GET | `/tickets` | List all tickets |
| GET | `/tickets/:id` | Get ticket details |
| POST | `/tickets` | Create new ticket |
| PATCH | `/tickets/:id` | Update ticket |
| PATCH | `/tickets/:id/status` | Update ticket status |
| DELETE | `/tickets/:id` | Delete ticket |
#### Team Members
| Method | Endpoint | Description |
| ------ | ------------------- | ------------------ |
| GET | `/team-members` | List all members |
| GET | `/team-members/:id` | Get member details |
---
Made with ❤️ by Gabriel