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.
- 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
- 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
- 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
The vibrant home screen with animated gradient background and quote display
Browse quotes by different categories with visual indicators
Beautiful quote presentation with author attribution and category tags
Responsive design optimized for mobile devices
- 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
- 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
export const quotes = pgTable("quotes", {
id: serial("id").primaryKey(),
text: text("text").notNull(),
author: text("author").notNull(),
category: text("category").notNull(),
});GET /api/quotes- Retrieve all quotesGET /api/quotes/random- Get a random quoteGET /api/quotes/category/:category- Filter quotes by categoryGET /api/quotes/:id- Get specific quotePOST /api/quotes- Create new quote
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
- 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
The app organizes quotes into five main categories:
- Philosophy ๐ง - Deep thoughts and wisdom from great thinkers
- Movies ๐ฌ - Memorable quotes from beloved films
- Famous People โญ - Inspiring words from notable personalities
- Inspiration โค๏ธ - Motivational quotes to lift your spirits
- Success ๐ - Achievement-focused quotes for goal-oriented individuals
- Node.js 20 or higher
- npm or yarn package manager
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser to
http://localhost:5000
โโโ 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
DATABASE_URL- PostgreSQL connection string (optional for development)NODE_ENV- Environment setting (development/production)
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%);
}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
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
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
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"
}- Add the category to the
categoriesarray inclient/src/pages/home.tsx - Include an appropriate Lucide React icon
- Update quotes in storage to use the new category
- User Visit: App loads and fetches a random quote
- Category Selection: User filters by category, triggering API call
- New Quote Request: User clicks "Get Another Quote" button
- Share Action: User shares quote via native sharing or clipboard
- Toast Feedback: App provides immediate visual feedback
- Initial page load with animated loading message
- Button loading states with spinning icons
- Smooth transitions between quote changes
- Graceful error messages for failed API calls
- Fallback states for empty quote collections
- User-friendly toast notifications for all actions
- Semantic HTML structure
- ARIA labels for interactive elements
- Keyboard navigation support
- High contrast text for readability
- 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
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
This project is open source and available under the MIT License.
Built with โค๏ธ using React, TypeScript, and modern web technologies
