A comprehensive web application for managing delivery services, built with Next.js, PostgreSQL, and Shadcn components.
This platform allows users to register as drivers, vendors, and clients, facilitating a seamless delivery service experience. It's designed to handle user management using PostgreSQL, with a modern and responsive frontend powered by Next.js and Shadcn components.
- Multiple user types: Drivers, Vendors, and Clients
- Secure authentication and authorization
- Same-day delivery
- On-demand services
- Emergency last-minute deliveries
- Quick pickup and delivery
- Experienced and trained couriers
- Event planning assistance
- Food transport and presentation services
- Handling various items beyond food (documents, medical supplies, etc.)
- Ensuring safe and timely deliveries
- Rapid response to time-sensitive deliveries
- Comprehensive driver training programs
- HIPAA compliance
- Food Handlers Certification (California standards)
- Strict dress code and safety protocols
- Frontend: Next.js
- Backend: Next.js API routes
- Database: PostgreSQL with Prisma ORM
- UI Components: Shadcn
[Include installation and setup instructions here]
[Link to or include basic documentation about how to use the platform]
Stay updated with our latest news and valuable information about our services through our blog section.
[Include information about how others can contribute to the project, if applicable]
[Specify the license under which your project is released]
[Provide contact information or links for support and inquiries]
This project is configured with Highlight.run for session replay, error monitoring, and fullstack debugging. It uses the official @highlight-run/next
package for Next.js integration.
Add the following environment variable to your .env.local
file:
# Highlight.run API Key for sourcemap uploads
HIGHLIGHT_PROJECT_API_KEY=your_api_key_here
- Session replay to view user interactions
- Frontend error monitoring with automatic sourcemap uploads
- Server-side error tracking and logging
- User identification integrated with authentication system
- React error boundary integration
- Network request tracing
- Full-stack distributed tracing across frontend and backend
- Frontend initialization via
HighlightInit
insrc/app/layout.tsx
- Server-side tracing through
instrumentation.ts
- Error boundaries from
@highlight-run/next/client
- SSR error handling in
src/app/error.tsx
- Middleware integration for cookie-based session tracking
- API route wrapping with
withAppRouterHighlight
- User identification in
src/contexts/UserContext.tsx
- Sourcemaps are uploaded during the build process
To view your application sessions and errors, visit app.highlight.io.
This project includes several safeguards to prevent build errors during deployment:
Before pushing your changes to GitHub, you can run these commands to catch potential issues early:
# Run a full build check - simulates Vercel environment
pnpm check-build
# Run just the type checker
pnpm typecheck
# Run linting
pnpm lint
The project uses Husky to enforce pre-push checks:
- Pre-push hook: Automatically runs type checking, Prisma generation, and linting before allowing you to push to GitHub
A GitHub Actions workflow runs on every push and pull request to ensure the build will succeed:
- Runs on Ubuntu with Node.js 20
- Uses PNPM with caching for faster builds
- Performs TypeScript type checking
- Runs a full build with the same environment variables as Vercel
-
Strict TypeScript checking: The project is configured with strict TypeScript settings to catch type errors early
-
Version pinning: All dependencies, especially Prisma, have their versions pinned to avoid inconsistencies
-
Import statements: Always use explicit imports for types rather than namespace access:
// ❌ Avoid this: if (error instanceof Prisma.PrismaClientKnownRequestError) { ... } // ✅ Use this instead: import { PrismaClientKnownRequestError } from '@prisma/client/runtime/library'; if (error instanceof PrismaClientKnownRequestError) { ... }
-
Run checks locally: Always run
pnpm check-build
before pushing to GitHub to verify your changes will build successfully on Vercel