Skip to content

Hickory Help Desk ⚡ Lightning-fast, self-hostable help desk for anyone. Built with ASP.NET Core 9, Next.js 15, PostgreSQL, and SignalR. Real-time updates, full-text search, type-safe from API to UI. Scales from 10 to 10M tickets. Deploy anywhere Docker runs.

License

Notifications You must be signed in to change notification settings

alexinslc/hickory

Repository files navigation

Hickory Help Desk

CI Pipeline

Full-stack help desk system built with .NET 9, Next.js 15, PostgreSQL, and Redis.

🚀 Quick Start

Dev Container (Recommended)

  1. Open in VS Code with Dev Containers extension
  2. Click "Reopen in Container"
  3. Wait for setup (~5-10 minutes)

See .devcontainer/README.md for details.

Docker Compose

docker compose -f docker/docker-compose.yml up -d
docker compose -f docker/docker-compose.yml exec api dotnet ef database update
open http://localhost:3000

See docker/QUICKSTART.md for details.

Local Development

Requirements: .NET 9.0 SDK, Node.js 20+, PostgreSQL 16, Redis 7

# Backend
cd apps/api && dotnet restore && dotnet ef database update && dotnet run

# Frontend
cd apps/web && npm install && npm run dev

📖 Documentation

🏗️ Architecture

┌─────────┐     ┌─────────┐     ┌────────────┐
│ Next.js │────▶│ .NET 9  │────▶│ PostgreSQL │
│  :3000  │     │  :5000  │     │   :5432    │
└─────────┘     └────┬────┘     └────────────┘
                     │
                ┌────▼────┐
                │  Redis  │
                │  :6379  │
                └─────────┘

🎯 Features

  • Submit and track support tickets (US-001)
  • Agent ticket management (US-002)
  • Real-time updates (WebSockets)
  • Optimistic concurrency control
  • Performance: <2s submission, <30s response
  • Full-text search, email notifications, Redis caching

🧪 Testing

# All tests
npx nx run-many --target=test --all

# Specific projects
dotnet test apps/api/Hickory.Api.Tests/Hickory.Api.Tests.csproj
npx nx test web

# E2E tests
npx nx e2e web-e2e
npx playwright show-report

# Performance tests
npm run test:performance

🛠️ Development

Uses Nx for monorepo management.

npx nx run-many --target=build --all  # Build all
npx nx run-many --target=test --all   # Test all
npx nx run-many --target=lint --all   # Lint all

📦 Project Structure

hickory/
├── apps/
│   ├── api/          # .NET 9 API
│   ├── web/          # Next.js 15 frontend
│   ├── cli/          # TypeScript CLI
│   └── *-e2e/        # E2E tests
├── docker/           # Docker config
├── specs/            # Specifications
└── tests/            # Test utilities

🔐 Security

  • JWT authentication
  • Password hashing (bcrypt)
  • Parameterized queries (SQL injection protection)
  • XSS protection, CORS, rate limiting

🚢 Deployment

See docker/README.md for production deployment.

Key considerations: Update JWT secret, configure SMTP, set up SSL/TLS, reverse proxy, monitoring, and backups.

📝 License

See LICENSE file.

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make changes and run tests
  4. Submit a pull request

📧 Support

  • Create an issue
  • Check documentation
  • Review troubleshooting guides

About

Hickory Help Desk ⚡ Lightning-fast, self-hostable help desk for anyone. Built with ASP.NET Core 9, Next.js 15, PostgreSQL, and SignalR. Real-time updates, full-text search, type-safe from API to UI. Scales from 10 to 10M tickets. Deploy anywhere Docker runs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5