A comprehensive Buddhist quotes platform featuring Vietnamese wisdom, proverbs (Tα»₯c Ngα»―), and folk songs (Ca Dao) with automatic rotation, search, and customization features.
This is a monorepo containing multiple components:
Quotes/
βββ quotes-platform/ # Main Angular application (Web)
βββ quotes-native/ # React Native application (Mobile + Web)
βββ specs/ # Feature specifications and design documents
βββ documents/ # Additional documentation and references
βββ .specify/ # Specify framework configuration and templates
βββ .github/ # GitHub workflows and configurations
- Node.js 20.x or higher
- npm 10.x or higher
- Angular CLI 18.x or higher
# Clone the repository
git clone https://github.com/qpssoft/Quotes.git
cd Quotes
# Navigate to the application
cd quotes-platform
# Install dependencies
npm install
# Start development server
npm startVisit http://localhost:4200/ in your browser.
The primary Angular 18 application providing:
- Continuous Quote Display: Auto-rotating quotes with fade transitions
- Playback Controls: Play/Pause and Next buttons
- Configurable Timer: 5-60 second rotation intervals
- Audio Notifications: Gentle chime on transitions
- Quote Grid: Responsive browsable grid layout
- Full-Text Search: Real-time filtering across content, authors, and categories
- Customizable Display: Font selection and display count options
- LocalStorage Persistence: All preferences saved automatically
- Buddhist-Inspired UI: Warm colors and serene aesthetics
Technology Stack:
- Angular 18+ (Standalone Components)
- TypeScript 5.5+
- SCSS with CSS Custom Properties
- Angular Signals for reactive state
- Browser LocalStorage API
Key Documentation:
React Native cross-platform application with mobile and desktop support:
- Cross-Platform: iOS, Android, Web, and Windows desktop
- Native Performance: Platform-specific optimizations
- Shared Codebase: Single codebase for all platforms
- Modern UI: React Native components with native look and feel
- Desktop Features: System tray, global shortcuts, auto-launch (Windows)
- Web Deployment: Static site generation for GitHub Pages
Technology Stack:
- React Native 0.81+ with Expo
- TypeScript 5.9+
- React Navigation for routing
- Expo modules for cross-platform APIs
- React Native Windows for desktop
Key Documentation:
Feature specifications and design documents using the Specify framework:
- 001-quote-display/: Complete specification for the quote display feature
spec.md: User stories with priorities and acceptance criteriaplan.md: Technical implementation plan and architecturedata-model.md: Content entities and relationshipsresearch.md: Technical decisions and research findingsquickstart.md: Development test scenariostasks.md: Implementation task breakdownchecklists/: Quality assurance and requirements tracking
Additional documentation and quick references:
FIGMA_QUICK_REFERENCE.md: Design system and Figma integration guide
- β Continuous Auto-Rotation: Seamless quote transitions with configurable timing
- β Manual Controls: Pause, resume, and skip to next quote
- β Audio Feedback: Gentle notification sound on each transition
- β Responsive Grid: Browse multiple quotes simultaneously
- β Real-Time Search: Filter by keyword, author, or category
- β Customization: Timer intervals, fonts, and display count
- β Persistence: User preferences saved across sessions
- β Accessibility: WCAG 2.1 compliant with keyboard navigation
- β Mobile Optimized: Touch-friendly with responsive layouts (320px to 4K)
- Buddhist Quotes (Lα»i PhαΊt DαΊ‘y): Wisdom teachings and dharma insights
- Vietnamese Proverbs (Tα»₯c Ngα»―): Traditional sayings and wisdom
- Folk Songs (Ca Dao): Cultural heritage and poetic expressions
- UTF-8 Support: Full Vietnamese diacritics rendering
# Install dependencies
cd quotes-platform
npm install
# Start dev server with live reload
npm start
# Run tests
npm test
# Build for production
npm run build- Spec-Driven Development: All features start with specifications in
specs/ - Task-Based Implementation: Follow task breakdown in
tasks.md - Component-First Architecture: Standalone Angular components
- Type Safety: Strict TypeScript configuration
- CSS Custom Properties: Theme-based styling system
quotes-platform/src/app/
βββ core/
β βββ models/ # TypeScript interfaces and types
β βββ services/ # Business logic and state management
βββ features/
β βββ controls/ # Rotation controls component
β βββ quote-display/ # Continuous display component
β βββ quote-grid/ # Grid browsing component
βββ shared/
βββ components/ # Reusable UI components
Both applications are deployed automatically to GitHub Pages:
Angular App (Main Site): https://qpssoft.github.io/Quotes/
React Native Web App: https://qpssoft.github.io/Quotes/App
Every push to main branch triggers automatic deployment via GitHub Actions. The workflow:
- Builds Angular app from
quotes-platform/subfolder β/Quotes/ - Builds React Native web from
quotes-native/subfolder β/Quotes/App/ - Combines both builds into single deployment
- Deploys to GitHub Pages
- Goes live in 2-5 minutes
Angular App:
cd quotes-platform
npm run deploy:gh-pagesReact Native Web:
cd quotes-native
npm run deploy:gh-pagesFor detailed deployment guide, troubleshooting, and configuration details, see DEPLOYMENT.md
# Build for production
cd quotes-platform
ng build --configuration production --base-href /Quotes/
# Deploy dist/quotes-platform/browser/ to your hosting service- Current Version: 1.0.0
- Angular Version: 18.x
- Status: β Production Ready
- Last Updated: January 2025
- β User Story 1: Continuous Quote Contemplation (P1)
- β User Story 2: Configurable Meditation Timer (P2)
- β User Story 3: Quote Grid Browsing (P2)
- β User Story 4: Quote Search and Filtering (P3)
cd quotes-platform
npm testSee specs/001-quote-display/quickstart.md for detailed test scenarios including:
- Quote rotation functionality
- Timer configuration
- Search and filtering
- Responsive layout
- Audio notifications
- LocalStorage persistence
Edit quotes-platform/public/data/quotes.json:
{
"id": "unique-id",
"content": "Your quote text",
"author": "Author name",
"category": "wisdom",
"type": "Quote"
}Modify quotes-platform/src/styles/theme.css:
:root {
--primary-gold: #D4AF37;
--primary-orange: #FF8C42;
--bg-primary: #FFF8F0;
/* Customize Buddhist color palette */
}- Application README: Detailed app documentation
- Feature Spec: User stories and requirements
- Technical Plan: Architecture and implementation
- Data Model: Entity definitions
- Task Breakdown: Implementation checklist
- Contributing Guide: Development guidelines
We welcome contributions! Please see CONTRIBUTING.md for:
- Code style guidelines
- Development workflow
- Pull request process
- Testing requirements
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Review specs in
specs/directory - Follow the implementation plan in
tasks.md - Write tests for new functionality
- Submit a pull request with clear description
- Issues: GitHub Issues
- Repository: https://github.com/qpssoft/Quotes
- Documentation: See
specs/anddocuments/directories
This project is licensed under the MIT License.
- Buddhist quotes from public domain teachings
- Vietnamese cultural heritage (Tα»₯c Ngα»―, Ca Dao)
- Google Fonts (Noto Serif, Merriweather, Lora, Playfair Display, Crimson Text)
- Audio notification: CC0 Public Domain
- Built with Angular 18 and TypeScript
TrΓ Tuα» PhαΊt GiΓ‘o β’ Nguα»n CαΊ£m Hα»©ng Mα»i NgΓ y
Buddhist Wisdom β’ Daily Inspiration
Built with β€οΈ by the QPS Software Team