Skip to content

ArjunRAj77/dailyDoseOfQuotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Daily Dose of Life - Quote App Documentation

Daily Dose of Life

๐ŸŒŸ Overview

Daily Dose of Life is a vibrant web application that delivers daily inspiration through carefully curated quotes. The app features an energetic design with dynamic animations, category filtering, and sharing capabilities to brighten your day with motivational content.

โœจ Features

๐ŸŽจ Dynamic Visual Design

  • Animated Gradient Background: Multi-color gradient that shifts smoothly across coral, turquoise, purple, and orange tones
  • Floating Elements: Animated circular elements that gently float across the screen
  • Glass-morphism Effects: Transparent containers with backdrop blur for modern aesthetics
  • Responsive Design: Optimized for desktop, tablet, and mobile devices

๐Ÿ“ Quote Management

  • Random Quote Display: Get a fresh inspirational quote with each visit
  • Category Filtering: Browse quotes by specific categories
  • Quote Collection: Access to 20+ hand-curated quotes across multiple categories
  • Real-time Updates: Instant quote loading with smooth animations

๐Ÿ”„ Interactive Features

  • Get Another Quote: Instantly load a new random quote or category-specific quote
  • Share Functionality: Copy quotes to clipboard or use native sharing (on supported devices)
  • Category Explorer: Filter quotes by Philosophy, Movies, Famous People, Inspiration, and Success
  • Toast Notifications: User-friendly feedback for all actions

๐Ÿ“ฑ Screenshots

Main Interface

Main Interface The vibrant home screen with animated gradient background and quote display

Category Filtering

Category Filtering Browse quotes by different categories with visual indicators

Quote Display

Quote Display Beautiful quote presentation with author attribution and category tags

Mobile View

Mobile View Responsive design optimized for mobile devices

๐Ÿ—๏ธ Technical Architecture

Frontend Stack

  • React 18 with TypeScript for type-safe development
  • Vite for fast development and optimized builds
  • Wouter for lightweight client-side routing
  • TanStack Query for efficient server state management
  • Tailwind CSS for utility-first styling
  • shadcn/ui components for consistent UI elements

Backend Stack

  • Express.js with TypeScript for API development
  • Drizzle ORM for type-safe database operations
  • PostgreSQL database (configured for Neon serverless)
  • In-memory storage for development with pre-seeded quotes

Key Components

Quote Schema

export const quotes = pgTable("quotes", {
  id: serial("id").primaryKey(),
  text: text("text").notNull(),
  author: text("author").notNull(),
  category: text("category").notNull(),
});

API Endpoints

  • GET /api/quotes - Retrieve all quotes
  • GET /api/quotes/random - Get a random quote
  • GET /api/quotes/category/:category - Filter quotes by category
  • GET /api/quotes/:id - Get specific quote
  • POST /api/quotes - Create new quote

๐ŸŽจ Design System

Color Palette

The app uses an energetic color scheme designed to inspire and motivate:

  • Coral: hsl(6, 100%, 72%) - Warm and energetic
  • Turquoise: hsl(174, 56%, 54%) - Fresh and calming
  • Vibrant Purple: hsl(283, 39%, 53%) - Creative and inspiring
  • Energetic Orange: hsl(38, 86%, 51%) - Bold and motivating
  • Bright Yellow: hsl(49, 86%, 62%) - Optimistic and cheerful

Animations

  • Gradient Animation: 8-second infinite background color shift
  • Floating Elements: 6-second gentle floating motion
  • Fade In: 0.8-second smooth entry animations
  • Scale In: 0.5-second quote container appearance
  • Hover Effects: Transform and shadow animations on buttons

๐Ÿ“‹ Quote Categories

The app organizes quotes into five main categories:

  1. Philosophy ๐Ÿง  - Deep thoughts and wisdom from great thinkers
  2. Movies ๐ŸŽฌ - Memorable quotes from beloved films
  3. Famous People โญ - Inspiring words from notable personalities
  4. Inspiration โค๏ธ - Motivational quotes to lift your spirits
  5. Success ๐Ÿš€ - Achievement-focused quotes for goal-oriented individuals

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 20 or higher
  • npm or yarn package manager

Installation

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev
  4. Open your browser to http://localhost:5000

Project Structure

โ”œโ”€โ”€ client/              # React frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/  # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/       # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/       # Custom React hooks
โ”‚   โ”‚   โ””โ”€โ”€ lib/         # Utilities and configurations
โ”œโ”€โ”€ server/              # Express.js backend
โ”œโ”€โ”€ shared/              # Shared types and schemas
โ””โ”€โ”€ docs/                # Documentation and screenshots

๐Ÿ”ง Configuration

Environment Variables

  • DATABASE_URL - PostgreSQL connection string (optional for development)
  • NODE_ENV - Environment setting (development/production)

Customization

The app's visual theme can be customized by modifying the CSS variables in client/src/index.css:

:root {
  --coral: hsl(6, 100%, 72%);
  --turquoise: hsl(174, 56%, 54%);
  --vibrant-purple: hsl(283, 39%, 53%);
  --energetic-orange: hsl(38, 86%, 51%);
  --bright-yellow: hsl(49, 86%, 62%);
}

๐Ÿ“Š Features in Detail

Quote Display System

The app intelligently displays quotes based on user interaction:

  • Initial Load: Shows a random quote from the entire collection
  • Category Selection: Displays random quotes from the selected category
  • New Quote Button: Loads fresh content based on current filter state

Sharing Capabilities

Users can share quotes through multiple methods:

  • Native Sharing: Uses Web Share API on supported devices
  • Clipboard Copy: Fallback for devices without native sharing
  • Formatted Text: Includes quote, author, and attribution

Responsive Design

The interface adapts seamlessly across devices:

  • Desktop: Full-featured layout with large quote display
  • Tablet: Optimized spacing and touch-friendly buttons
  • Mobile: Compact layout with vertical button stacking

๐Ÿ› ๏ธ Development

Adding New Quotes

To add new quotes to the collection, modify the initializeQuotes() method in server/storage.ts:

{
  text: "Your inspiring quote here",
  author: "Quote Author",
  category: "Category Name"
}

Adding New Categories

  1. Add the category to the categories array in client/src/pages/home.tsx
  2. Include an appropriate Lucide React icon
  3. Update quotes in storage to use the new category

๐Ÿ”„ Data Flow

  1. User Visit: App loads and fetches a random quote
  2. Category Selection: User filters by category, triggering API call
  3. New Quote Request: User clicks "Get Another Quote" button
  4. Share Action: User shares quote via native sharing or clipboard
  5. Toast Feedback: App provides immediate visual feedback

๐ŸŽฏ User Experience Features

Loading States

  • Initial page load with animated loading message
  • Button loading states with spinning icons
  • Smooth transitions between quote changes

Error Handling

  • Graceful error messages for failed API calls
  • Fallback states for empty quote collections
  • User-friendly toast notifications for all actions

Accessibility

  • Semantic HTML structure
  • ARIA labels for interactive elements
  • Keyboard navigation support
  • High contrast text for readability

๐Ÿ“ˆ Performance Optimizations

  • Query Caching: TanStack Query caches API responses
  • Lazy Loading: Components load only when needed
  • Optimized Animations: CSS transforms for smooth performance
  • Minimal Bundle: Tree-shaking and code splitting

๐Ÿ”ฎ Future Enhancements

Potential features for future development:

  • User accounts and favorite quotes
  • Custom quote submissions
  • Social sharing with custom graphics
  • Daily quote email subscriptions
  • Quote search functionality
  • Dark/light theme toggle
  • Quote analytics and trending quotes

๐Ÿ“ License

This project is open source and available under the MIT License.


Built with โค๏ธ using React, TypeScript, and modern web technologies

About

Daily quotes of life.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages