A comprehensive zoo management dashboard built with Next.js, featuring real-time animal status monitoring, authentication, and interactive UI components.
- Node.js 18+
- pnpm (recommended) or npm/yarn
- Clone the repository:
git clone <repository-url>
cd zoo-dashboard- Install dependencies:
pnpm install- Set up environment variables:
cp example.env .env.local- Run the development server:
pnpm dev- Open http://localhost:3000 with your browser.
Important: You must build the image first before running it with environment variables.
When using Docker, you can pass environment variables directly:
# Build first (only need to do this once)
docker build -t zoo-dashboard . --build-arg NEXTAUTH_URL=http://localhost:3000
# Run with environment variables
docker run -p 3000:3000 \
-e NEXTAUTH_SECRET=your-secret-here \
-e NEXTAUTH_URL=http://localhost:3000 \
zoo-dashboardImportant: The NEXTAUTH_URL environment variable is required for authentication to work correctly. In Docker environments, this should match the URL where the application is accessible.
Or create a .env file and mount it:
# Build first (only need to do this once)
docker build -t zoo-dashboard . --build-arg NEXTAUTH_URL=http://localhost:3000
# Run with env file
docker run -p 3000:3000 --env-file .env zoo-dashboardExample .env file for Docker:
NEXTAUTH_SECRET=your-secret-here
NEXTAUTH_URL=http://localhost:3000The application uses mock authentication for development purposes. You can log in with the following test accounts:
- Email:
[email protected] - Password:
zooadmin123 - Role: Zoo Administrator
- Email:
[email protected] - Password:
keeper123 - Role: Zoo Keeper
- Framework: Next.js 15
- Styling: Tailwind CSS + DaisyUI
- Authentication: NextAuth.js
- Icons: React Icons
- Form Validation: Zod
- Data Fetching: TanStack Query
- Package Manager: pnpm