A modern, beautiful web application for saving, exploring, and journaling inspirational quotes, thoughts, and life lessons.
Beautiful, minimalist design with daily inspiration
Paginated collection of inspiring quotes from various authors
Manage your personal collection of favorite quotes
Add custom quotes, thoughts, and tag them for organization
Beautiful dark/light theme with smooth transitions
Optimized for all device sizes
- π― Quote of the Day: Fresh, random inspirational quote every day
- π Explore Quotes: Browse through extensive collection with pagination
- πΎ Personal Journal: Save favorite quotes to your personal collection
- β Custom Entries: Add your own quotes, thoughts, and wisdom
- π·οΈ Smart Tagging: Organize entries with customizable tags
- ποΈ Delete & Undo: Remove entries with convenient undo functionality
- π Real-time Sync: All changes saved to browser localStorage
- π¨ Dark/Light Mode: Beautiful theme switching with system preference support
- π± Fully Responsive: Perfect experience on desktop, tablet, and mobile
- π Smooth Animations: Powered by Framer Motion for delightful interactions
- π Toast Notifications: Friendly feedback for all user actions
- β‘ Fast Performance: Optimized with Next.js App Router and Turbopack
- βΏ Accessibility: Built with Radix UI for excellent accessibility support
- Next.js 15.4.2 - React framework with App Router
- React 19.1.0 - Latest React with concurrent features
- TypeScript 5.0 - Type-safe development
- Tailwind CSS 4.0 - Utility-first CSS framework
- shadcn/ui - Beautiful, accessible component library
- Radix UI - Unstyled, accessible UI components
- Lucide React - Beautiful, customizable icons
- next-themes - Perfect theme switching
- Framer Motion 12.23.9 - Production-ready motion library
- tw-animate-css - Additional CSS animations
- clsx - Conditional className utility
- tailwind-merge - Merge Tailwind classes
- class-variance-authority - Component variants
- cmdk - Command menu component
- Sonner - Beautiful toast notifications
- Exalidraw - view prototype
{
"next": "15.4.2",
"react": "19.1.0",
"react-dom": "19.1.0",
"typescript": "^5"
}{
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slot": "^1.2.3",
"tailwindcss": "^4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"tailwind-merge": "^3.3.1"
}{
"framer-motion": "^12.23.9",
"cmdk": "^1.1.1"
}{
"lucide-react": "^0.525.0",
"sonner": "^2.0.6"
}{
"next-themes": "^0.2.1"
}inspo-log/
βββ π src/
β βββ π app/ # Next.js App Router
β β βββ π api/ # API Routes
β β β βββ π explore/ # Explore quotes endpoint
β β β βββ π new/ # Add new quote endpoint
β β β βββ π quote/ # Quote of the day endpoint
β β β βββ route.ts # Main API route
β β βββ π explore/ # Explore page
β β βββ π journals/ # Journal pages
β β β βββ π new/ # Add new entry page
β β β βββ page.tsx # Main journal page
β β βββ favicon.ico # App icon
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Home page
β βββ π components/ # React Components
β β βββ π ui/ # shadcn/ui components
β β βββ ModeToggle.tsx # Theme switcher
β β βββ PageHeader.tsx # Navigation header
β β βββ QuoteListFetcher.tsx # Quote list component
β β βββ RandomQuoteFetcher.tsx # Random quote component
β β βββ theme-provider.tsx # Theme context
β βββ π lib/ # Utilities
β β βββ utils.ts # Helper functions
β βββ π types/ # TypeScript types
β βββ quotes.ts # Quote interfaces
βββ π public/ # Static assets
βββ π docs/ # Documentation
βββ π screenshots/ # App screenshots
βββ components.json # shadcn/ui config
βββ next.config.ts # Next.js config
βββ package.json # Dependencies
βββ postcss.config.mjs # PostCSS config
βββ tailwind.config.js # Tailwind config
βββ tsconfig.json # TypeScript config
- Node.js 18.17 or later
- npm, yarn, pnpm, or bun
-
Clone the repository
git clone https://github.com/MUMEi-28/inspo-log.git cd inspo-log -
Install dependencies
npm install # or yarn install # or pnpm install # or bun install
-
Start the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser Navigate to http://localhost:3000
# Development with Turbopack (fastest)
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Lint codebase
npm run lintinterface ZenQuote {
id?: number;
q: string; // Quote text
a: string; // Author name
}interface SavedQuote {
id: number;
q: string; // Quote text
a: string; // Author name
}| Endpoint | Method | Description | Response |
|---|---|---|---|
/api/ |
GET | Random quotes for home page | 6 random quotes |
/api/explore |
GET | All quotes for exploration | Complete quote collection |
/api/quote |
GET | Quote of the day | Single daily quote |
/api/new |
POST | Add new quote (WIP) | Success/Error status |
- ZenQuotes.io - Inspirational quotes API
- Rate Limiting: Handled gracefully with fallbacks
- Caching: Browser-level caching for performance
- User Authentication - Save quotes across devices
- Quote Categories - Filter by topics and themes
- Search Functionality - Search through saved quotes
- Export Options - PDF, JSON, and other formats
- Quote Sharing - Share favorite quotes on social media
- Mobile App - React Native mobile application
- Offline Support - PWA with offline capabilities
- Advanced Filtering - Filter by author, date, tags
- Quote Analytics - Insights into your reading habits
- Community Features - Share and discover user quotes
- Database Integration - Move from localStorage to database
- API Rate Limiting - Implement proper rate limiting
- Performance Monitoring - Add analytics and monitoring
- Testing Suite - Comprehensive test coverage
- CI/CD Pipeline - Automated testing and deployment
- Docker Support - Containerization for deployment
- Custom quote creation currently uses localStorage only
- Theme transitions may flicker on initial load
- Mobile keyboard may overlap input fields on some devices
- ZenQuotes.io - Providing inspirational quotes
- Vercel - Hosting and deployment platform
- Next.js Team - Amazing React framework
- shadcn - Beautiful component library
- Radix UI - Accessible primitives
- Framer - Smooth animations
- Tailwind CSS - Utility-first CSS
- Quotes Community - For the wisdom and inspiration
- Open Source Community - For the tools and knowledge
Built with β€οΈ by the InspoLog Team
β Star this repo β’ π Report Bug β’ π Request Feature