Skip to content

AaronMurillo01/WorkflowHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Zenith Dashboard

Note: This project is a prototype intended to showcase my skills. The original version is deployed for my client as part of my freelance work.

A modern, production-quality SaaS dashboard application built with React (TypeScript) and FastAPI. Features a sleek, minimalist design inspired by platforms like Linear, Vercel, and Stripe.

πŸ“Έ Screenshots

Welcome Screen

![Welcome Screen]( Screenshot 2025-09-05 221357 Step 1 of the onboarding flow - introducing users to Zenith Dashboard's key features

Workspace Setup

![Workspace Setup](Screenshot 2025-09-05 221434 Step 2 of the onboarding flow - helping users customize their workspace

Main Dashboard

![Main Dashboard](Screenshot 2025-09-05 221528 The main dashboard showing project statistics, recent projects, and key metrics

AI Assistant

![AI Assistant](Screenshot 2025-09-05 221623 Built-in AI assistant for project management and productivity insights

πŸš€ Features

Frontend

  • React 18+ with TypeScript - Modern React with full type safety
  • Vite - Lightning-fast build tool and development server
  • Tailwind CSS - Utility-first CSS framework for rapid UI development
  • shadcn/ui - Beautiful, accessible component library
  • Framer Motion - Smooth animations and micro-interactions
  • Lucide React - Beautiful, customizable icons
  • Dark Mode - Professional dark theme by default
  • Responsive Design - Works perfectly on mobile, tablet, and desktop
  • ESLint & Prettier - Code quality and consistent formatting

Backend

  • FastAPI - Modern, fast web framework for building APIs
  • Pydantic - Data validation and serialization
  • CORS Support - Cross-origin resource sharing for frontend integration
  • RESTful API - Clean, well-documented API endpoints
  • Type Hints - Full Python type safety

πŸ“ Project Structure

zenith-dashboard/
β”œβ”€β”€ frontend/                 # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/       # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ ui/          # shadcn/ui components
β”‚   β”‚   β”‚   └── layout/      # Layout components (Sidebar, Header)
β”‚   β”‚   β”œβ”€β”€ pages/           # Page components
β”‚   β”‚   β”œβ”€β”€ lib/             # Utility functions
β”‚   β”‚   └── assets/          # Static assets
β”‚   β”œβ”€β”€ public/              # Public static files
β”‚   β”œβ”€β”€ package.json         # Frontend dependencies
β”‚   β”œβ”€β”€ tailwind.config.js   # Tailwind CSS configuration
β”‚   β”œβ”€β”€ vite.config.ts       # Vite configuration
β”‚   └── tsconfig.json        # TypeScript configuration
β”œβ”€β”€ backend/                 # FastAPI backend application
β”‚   β”œβ”€β”€ main.py             # FastAPI app and routes
β”‚   β”œβ”€β”€ schemas.py          # Pydantic models
β”‚   β”œβ”€β”€ data.py             # Mock data and business logic
β”‚   └── requirements.txt    # Python dependencies
└── README.md               # This file

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v18 or higher)
  • Python (v3.8 or higher)
  • npm or yarn package manager

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

    The frontend will be available at http://localhost:5173

Backend Setup

  1. Navigate to the backend directory:

    cd backend
  2. Create a virtual environment (recommended):

    python -m venv venv
    
    # On Windows
    venv\\Scripts\\activate
    
    # On macOS/Linux
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Start the development server:

    python main.py

    The backend API will be available at http://localhost:8000

API Documentation

Once the backend is running, you can access:

  • Interactive API docs: http://localhost:8000/docs
  • ReDoc documentation: http://localhost:8000/redoc

🎨 Design System

Color Palette

  • Background: Deep charcoal/slate (hsl(222.2, 84%, 4.9%))
  • Cards: Slightly lighter charcoal (hsl(222.2, 84%, 4.9%))
  • Primary: Electric blue (hsl(217.2, 91.2%, 59.8%))
  • Text: High contrast white (hsl(210, 40%, 98%))
  • Muted Text: Subtle gray (hsl(215, 20.2%, 65.1%))

Typography

  • Font Family: Inter (Google Fonts)
  • Weights: 300, 400, 500, 600, 700

Components

  • Buttons: Multiple variants (default, outline, ghost, etc.)
  • Cards: Clean, elevated design with subtle borders
  • Inputs: Consistent styling with focus states
  • Navigation: Collapsible sidebar with smooth animations

πŸ“± Pages & Features

Dashboard

  • Statistics Cards: Key metrics and KPIs
  • Project Grid: Recent projects with status indicators
  • Progress Tracking: Visual progress bars and completion status
  • Quick Actions: Add new projects, filter, search

Projects

  • Project Management: View all projects in a grid layout
  • Search & Filter: Find projects quickly
  • Status Management: Track project progress
  • Team Information: See team size and collaboration details

Settings

  • Profile Management: Personal information and preferences
  • Notifications: Configure alert preferences
  • Security: Account security settings
  • Appearance: Theme and display options
  • Integrations: Third-party service connections

πŸ”Œ API Endpoints

Projects

  • GET /api/projects - Get all projects
  • GET /api/projects/{id} - Get specific project
  • POST /api/projects - Create new project
  • PUT /api/projects/{id} - Update project
  • DELETE /api/projects/{id} - Delete project
  • GET /api/projects/status/{status} - Filter by status

Statistics

  • GET /api/stats - Get dashboard statistics

Health

  • GET /health - Health check endpoint

πŸš€ Development

Frontend Development

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

# Lint code
npm run lint

Backend Development

# Start with auto-reload
uvicorn main:app --reload --host 0.0.0.0 --port 8000

# Run with specific host/port
python main.py

🎯 Key Features Implemented

Frontend

  • βœ… Modern React 18+ with TypeScript
  • βœ… Vite for fast development and building
  • βœ… Tailwind CSS for styling
  • βœ… shadcn/ui component library
  • βœ… Framer Motion animations
  • βœ… Responsive design (mobile, tablet, desktop)
  • βœ… Dark mode theme
  • βœ… Collapsible sidebar navigation
  • βœ… Project cards with status indicators
  • βœ… Dashboard with statistics
  • βœ… Settings page with multiple sections
  • βœ… Smooth page transitions
  • βœ… ESLint and Prettier configuration

Backend

  • βœ… FastAPI with automatic API documentation
  • βœ… Pydantic for data validation
  • βœ… CORS middleware for frontend integration
  • βœ… RESTful API design
  • βœ… Mock data for development
  • βœ… Type hints throughout
  • βœ… Error handling and validation
  • βœ… Health check endpoint

πŸ”§ Customization

Adding New Pages

  1. Create a new component in frontend/src/pages/
  2. Add the route to App.tsx
  3. Update the sidebar navigation in Sidebar.tsx

Adding New API Endpoints

  1. Define Pydantic models in schemas.py
  2. Add business logic in data.py
  3. Create route handlers in main.py

Styling Customization

  • Modify frontend/tailwind.config.js for theme changes
  • Update CSS variables in frontend/src/index.css
  • Customize component styles in individual component files

About

WorkflowHub is a comprehensive project management and productivity platform designed to streamline team collaboration and enhance workflow efficiency.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages