Skip to content

Weekend Planner is a fun and interactive web app that helps you organize your perfect weekend with a touch of AI ✨. Plan activities, set themes, check the weather, and let the app create a beautiful poster of your weekend schedule — ready to download and share as a PDF.

Notifications You must be signed in to change notification settings

vishakha1411/DayForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 DayForge - Smart Weekend Planner

A beautiful, intelligent weekend planning application that helps you organize your perfect weekend with weather-aware suggestions, AI-powered recommendations, and interactive scheduling.

✨ Features

🎯 Core Features

  • Interactive Schedule: Drag and drop activities into Saturday and Sunday time slots (morning, afternoon, evening)
  • Activity Browser: Browse curated activities by category, theme, and mood with search functionality
  • Theme Selection: Choose from multiple weekend themes (Adventure, Relaxation, Social, etc.) to filter activities
  • Custom Activities: Add your own activities with full customization including icons, duration, and mood tags
  • Activity Management: Easily remove or rearrange activities in your schedule

🤖 Advanced Features

  • Gemini AI Assistant: Provides intelligent weekend planning suggestions based on user preferences and current schedule
  • Weather-Aware Activities: Integrates OpenWeatherMap API to suggest activities appropriate to current weather conditions
  • Nearby Places Discovery: Discover local activities and places based on user's device location
  • Mood Tracking: Activities tagged with moods (energetic, relaxed, adventurous, social, peaceful, creative)
  • Export & Share: Generate beautiful PDF posters of your weekend plan or share via social media
  • IndexedDB Integration: Professional client-side database for reliable offline storage

🎨 Design & UX

  • Modern UI: Built with Tailwind CSS and Lucide React icons for a clean, polished interface
  • Reusable Components: Modular, reusable UI components (ActivityCard, DropZone, Modal)
  • Responsive Design: Optimized for desktop, tablet, and mobile screens
  • Smooth Animations: Enhanced user experience with transitions and interactive feedback
  • Color-coded Interface: Intuitive visual organization with themed color schemes

🚀 Quick Start

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn package manager
  • API keys setup

Installation

# Clone the repository
git clone <your-repo-url>
cd weekend-planner

# Install dependencies
npm install

# Start development server
npm run dev

Visit http://localhost:5173 to launch the application.

🔑 API Configuration

Optional API Integrations

OpenWeatherMap API

  1. Sign up at OpenWeatherMap
  2. Get your API key from the dashboard
  3. Create .env file in root directory:
VITE_WEATHER_API_KEY=your_weather_api_key_here

Gemini AI API

  1. Get API key from Google AI Studio
  2. Configure in-app settings when available

Ola Maps API

  1. Obtain API key from Ola Developer Console
  2. Configure in-app settings when available

🏗️ Technology Stack

  • Frontend Framework: React 18 + JavaScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Icons: Lucide React
  • Drag & Drop: HTML5 Drag & Drop API
  • Storage: IndexedDB (via idb library)
  • PDF Export: jsPDF
  • HTTP Client: Native Fetch API

📁 Project Structure

src/
├── components/            # React components
│   ├── ActivityPanel.jsx     # Activity browsing and search
│   ├── SchedulePanel.jsx     # Weekend schedule display
│   ├── AIAssistant.jsx       # Gemini AI integration
│   ├── DiscoverPanel.jsx     # Nearby places discovery
│   ├── RecentPlans.jsx       # Saved schedules management
│   ├── ShareModal.jsx        # Export and sharing options
│   ├── ThemeSection.jsx      # Theme selection
│   ├── SmartSuggestions.jsx  # Weather-aware suggestions
│   └── PlannerHeader.jsx     # App header with weather
├── lib/
│   ├── constants.js          # Activity data, themes, categories
│   ├── db.js                 # IndexedDB operations
│   └── utils.js              # Utility functions
├── App.jsx                   # Main application component
├── main.jsx                  # Application entry point
└── index.css                 # Global styles

🎯 Usage Guide

1. Getting Started

  • Launch the application and allow location access for weather and nearby places
  • Browse activities by category or use the search functionality

2. Planning Your Weekend

  • Drag activities from the left panel to your preferred time slots
  • Use theme filters to discover curated activity collections
  • Add custom activities using the "+" button

3. Advanced Features

  • Enable AI suggestions for personalized recommendations
  • Check weather-appropriate activities based on current conditions
  • Discover nearby places using location services

4. Saving & Sharing

  • Save your schedule to access it later
  • Export as PDF for printing or digital sharing
  • Clear your schedule to start fresh

🔧 Development Scripts

npm run dev          # Start development server with hot reload
npm run build        # Build optimized production bundle
npm run preview      # Preview production build locally
npm run lint         # Run ESLint for code quality

🛡️ Privacy & Security

  • Local Storage: All user data is stored locally in the browser using IndexedDB
  • No Tracking: No analytics or user behavior tracking
  • Optional APIs: Weather and location services are optional and user-controlled
  • Transparent: Open source code for complete transparency

🐛 Troubleshooting

Common Issues

Weather Not Loading

  • Check internet connection
  • Verify OpenWeatherMap API key in environment variables

Location Services Not Working

  • Ensure browser location permissions are granted
  • Check device location settings

Drag & Drop Issues

  • Try refreshing the page
  • Check browser compatibility

Save/Load Problems

  • Clear browser storage and try again
  • Check console for error messages

About

Weekend Planner is a fun and interactive web app that helps you organize your perfect weekend with a touch of AI ✨. Plan activities, set themes, check the weather, and let the app create a beautiful poster of your weekend schedule — ready to download and share as a PDF.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages