A sanctuary for words that move, heal, and inspire.
SoulScript is a modern, elegant web application built with React that allows users to discover, share, and collect inspiring quotes. Whether you're seeking daily motivation, wisdom, or simply beautiful words that resonate with your soul, SoulScript provides a curated experience for quote enthusiasts.
- Quote Discovery: Browse a curated collection of inspiring quotes from various sources
- Quote of the Day: Get a fresh, inspiring quote every day to start your day right
- Random Quote Generator: Generate random inspirational quotes on demand
- Smart Filtering: Filter quotes by categories and tags (inspirational, success, wisdom, life, happiness)
- Search Functionality: Search through quotes to find exactly what you're looking for
- Personal Collection: Save and manage your favorite quotes in your personal collection
- Email/Password Authentication: Traditional sign-up and login system
- Google Sign-In: Quick authentication using Google OAuth
- Protected Routes: Secure user-specific features and data
- Session Management: Persistent authentication state across sessions
- Account Management: User profile and account settings
- Modern UI/UX: Clean, minimalist interface with elegant design
- Smooth Animations: Framer Motion powered animations for delightful interactions
- Responsive Design: Fully responsive layout that works on all devices
- Beautiful Gradients: Eye-catching rose and orange gradient themes
- Interactive Cards: Beautifully designed quote cards with hover effects
- Loading States: Smooth loading animations and states
- Create Quotes: Share your own thoughts and wisdom with the community
- Author Attribution: Properly credit quote authors
- Personal Storage: Your quotes are saved to your personal collection
- Local Persistence: Quotes are stored in localStorage for quick access
- React 19.0.0: Latest React version with modern features
- React Router DOM 7.5.2: Client-side routing and navigation
- Vite 6.3.1: Next-generation frontend tooling for fast development
- TailwindCSS 4.1.4: Utility-first CSS framework
- Framer Motion 12.10.0: Production-ready animation library
- Custom Gradients: Rose and orange themed color palette
- Firebase 11.6.1: Authentication and backend services
- Firebase Authentication (Email/Password & Google OAuth)
- Firebase Analytics
- Firebase Security Rules
- React Firebase Hooks 5.1.1: React hooks for Firebase
- React Icons 5.5.0: Popular icon library
- React Google Button 0.8.0: Pre-styled Google sign-in button
- ZenQuotes API: Quote data source via AllOrigins proxy
- REST API Integration: Fetching quotes from external sources
- ESLint 9.22.0: Code linting and quality
- Vite Plugins: React plugin for fast refresh
SoulScript-main/
βββ public/ # Static assets
βββ src/
β βββ api/
β β βββ fetchQuotes.js # API integration for fetching quotes
β βββ assets/ # Images and static resources
β βββ Components/
β β βββ Account.jsx # User account management
β β βββ FilterTags.jsx # Quote category filters
β β βββ MyQuotes.jsx # Personal quote collection
β β βββ Navbar.jsx # Navigation bar
β β βββ ProtectedRoute.jsx # Route authentication wrapper
β β βββ QuoteCard.jsx # Individual quote display card
β β βββ QuoteOfTheDay.jsx # Daily featured quote
β β βββ RandomQuoteGenerator.jsx # Random quote generator
β β βββ SearchBar.jsx # Quote search functionality
β β βββ SignIn.jsx # Login component
β β βββ Signup.jsx # Registration component
β βββ Conf/
β β βββ conf.js # Firebase configuration
β βββ Context/
β β βββ AuthContext.jsx # Authentication state management
β βββ Pages/
β β βββ About.jsx # About page
β β βββ Home.jsx # Landing page
β β βββ Quotes.jsx # Quote browsing page
β βββ Utils/
β β βββ Firebase.js # Firebase initialization
β βββ App.jsx # Main app component with routing
β βββ App.css # App-specific styles
β βββ index.css # Global styles
β βββ main.jsx # Application entry point
βββ eslint.config.js # ESLint configuration
βββ index.html # HTML template
βββ package.json # Project dependencies
βββ vite.config.js # Vite configuration
βββ README.md # Project documentation
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn package manager
- Firebase account for authentication setup
-
Clone the repository
git clone https://github.com/yourusername/SoulScript.git cd SoulScript-main -
Install dependencies
npm install
-
Configure Firebase
Create a
src/Conf/conf.jsfile with your Firebase credentials:const conf = { FIREBASE_API_KEY: "your-api-key", FIREBASE_AUTH_DOMAIN: "your-auth-domain", FIREBASE_PROJECT_ID: "your-project-id", FIREBASE_STORAGE_BUCKET: "your-storage-bucket", FIREBASE_MESSAGING_SENDER_ID: "your-sender-id", FIREBASE_APP_ID: "your-app-id", FIREBASE_MEASUREMENT_ID: "your-measurement-id" }; export default conf;
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173to see the app running.
npm run buildThis creates an optimized production build in the dist folder.
npm run preview- Hero section with welcoming message
- Quote of the Day feature
- Random Quote Generator
- Quick access to personal collection (for authenticated users)
- Featured quotes gallery
- Comprehensive quote browsing
- Tag-based filtering system
- Refresh button to load new quotes
- Beautiful card-based layout
- Smooth animations and transitions
- Create and share your own quotes
- View your personal collection
- Edit and manage your quotes
- Local storage persistence
- User-specific data isolation
- Secure email/password registration
- Google OAuth integration
- Protected routes for authenticated features
- Persistent session management
- User profile integration
- Mission and vision statement
- Feature highlights
- Design philosophy
- Community information
The app uses Firebase for authentication. You'll need to:
- Create a Firebase project at Firebase Console
- Enable Authentication methods (Email/Password and Google)
- Add your web app to Firebase project
- Copy the configuration to
src/Conf/conf.js
The project includes custom Vite configuration for:
- React Fast Refresh
- TailwindCSS integration
- Firebase authentication proxy
- Production optimizations
SoulScript is fully responsive and optimized for:
- π± Mobile devices (320px and up)
- π± Tablets (768px and up)
- π» Desktops (1024px and up)
- π₯οΈ Large screens (1280px and up)
- Endpoint:
https://zenquotes.io/api/quotes - Proxy: AllOrigins for CORS handling
- Features: Fetches curated quotes with authors and tags
- Fallback: Built-in fallback quotes for offline support
- User visits the app
- Can browse public quotes without authentication
- Sign up or log in to access personal features
- Google OAuth or email/password authentication
- Protected routes redirect unauthenticated users
- Session persists across page reloads
- Logout clears authentication state
- User quotes stored per user ID
- Format:
quotes_${userId} - Includes: quote text, author, timestamp, user info
- User authentication data
- Session management
- Google OAuth tokens
SoulScript embraces:
- Minimalism: Clean, uncluttered interface
- Elegance: Sophisticated color palette and typography
- User-Centric: Intuitive navigation and interactions
- Accessibility: Readable fonts and proper contrast
- Performance: Optimized loading and smooth animations
Potential features for future versions:
- Cloud database integration for cross-device sync
- Social sharing capabilities
- Quote categories expansion
- User profiles with avatars
- Comment and discussion features
- Quote rating system
- Dark mode support
- Export quotes as images
- API for third-party integrations
- Mobile app versions
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
Created with β€οΈ by an engineering student passionate about clean design, elegant words, and meaningful user experiences.
- ZenQuotes API for providing quality quote content
- Firebase for authentication infrastructure
- Framer Motion for beautiful animations
- TailwindCSS for rapid UI development
- React Community for excellent tools and libraries
If you have any questions or run into issues:
- Open an issue on GitHub
- Check existing documentation
- Review Firebase setup guides
If you like this project, please give it a β on GitHub!
Made with π using React, Vite, TailwindCSS, and Firebase