A modern, comprehensive dashboard application built with Next.js, TypeScript, and Tailwind CSS. Pulse Dashboard provides a beautiful and intuitive interface for managing and monitoring business metrics.
- 🎨 Modern UI - Built with shadcn/ui components and Tailwind CSS
- 🔐 Authentication - Login and registration forms with input groups
- 📊 Dashboard - Comprehensive dashboard with sidebar navigation
- 🌙 Dark Mode - Full dark mode support
- 📱 Responsive - Mobile-first responsive design
- ⚡ Fast - Built with Next.js 16 and React 19
- 🗄️ Database Ready - PostgreSQL schema included for user management
- Framework: Next.js 16.1.4
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: shadcn/ui (Radix UI primitives)
- Icons: Lucide React
- Database: PostgreSQL (Supabase)
- Node.js 18+
- npm, yarn, pnpm, or bun
- PostgreSQL database (or Supabase account)
- Clone the repository:
git clone <repository-url>
cd PulseDashboard- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Set up environment variables:
cp .env.example .env-
Fill in your environment variables in
.env:- Add your Supabase URL
- Add your Supabase anon key
- Add your Supabase service role key (if needed)
-
Set up the database:
- Run the SQL script in
database/users.sqlon your PostgreSQL database - Or use Supabase SQL editor to execute the script
- Run the SQL script in
-
Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev- Open http://localhost:3000 in your browser.
PulseDashboard/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Authentication pages
│ │ │ ├── layout.tsx # Auth layout wrapper
│ │ │ ├── login/ # Login page
│ │ │ └── register/ # Registration page
│ │ ├── dashboard/ # Dashboard pages
│ │ │ ├── layout.tsx # Dashboard layout with sidebar
│ │ │ └── page.tsx # Dashboard home
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Landing page
│ ├── components/
│ │ ├── auth/ # Auth form components
│ │ ├── layouts/ # Layout components
│ │ └── ui/ # shadcn/ui components
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utility functions
├── database/
│ └── users.sql # Database schema
├── public/ # Static assets
└── .env.example # Environment variables template
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
The project includes a PostgreSQL schema for user management. The users table includes:
id- Primary keyfirst_name- User's first namelast_name- User's last nameemail- Unique email addressphone_number- Phone numberpassword_hash- Hashed passwordcreated_date- Account creation timestamplast_login_date- Last login timestampupdated_at- Auto-updated timestamp
See database/users.sql for the complete schema.
Create a .env file in the root directory with the following variables:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_keySee .env.example for the template.
The application includes:
- Landing Page (
/) - Welcome page with navigation to login/register - Login Page (
/login) - User authentication - Register Page (
/register) - New user registration
All auth pages use InputGroup components from shadcn/ui for a consistent, modern look.
The dashboard (/dashboard) includes:
- Sidebar navigation
- Breadcrumb navigation
- Responsive layout
- Dark mode support
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is private and proprietary.
For support, please open an issue in the repository.
