GitHunt
TA

Taiizor/Echoes

Echoes is a modern platform that allows you to easily discover inspiring quotes from around the world. It is designed for anyone seeking wisdom and insight.

Echoes - Quotes From Around The World ๐ŸŒ

Echoes

License
Next.js
Tailwind CSS

Echoes is a modern web application that offers inspiring quotes from around the world. It aims to inspire users by providing access to wisdom and insights in different languages, all within a beautiful, responsive interface.

Live Preview | API Documentation

โœจ Features

  • ๐ŸŒ Multilingual Interface - Full internationalization support
  • ๐Ÿงฉ Developer API - RESTful endpoints for programmatic access
  • โšก Performance - Fast loading and optimized for best user experience
  • ๐Ÿ“ฑ Responsive Design - Optimized for all devices from mobile to desktop
  • ๐Ÿ”„ Quote Discovery - Random quotes with author and source information
  • ๐Ÿ“š Language Diversity - Quotes in multiple languages from around the world
  • ๐Ÿ” Advanced Filtering - Search by author, language or combine multiple filters
  • ๐ŸŽจ Theme Options - Light/dark mode with automatic system preference detection

๐Ÿ› ๏ธ Technologies

The application is built with modern web technologies:

๐Ÿš€ Getting Started

Prerequisites

  • Bun 1.0 or higher

Installation

# Clone the repository
git clone https://github.com/Taiizor/Echoes.git

# Navigate to the project directory
cd Echoes

# Install dependencies
bun install

# Start the development server
bun run dev

You can access the application at http://localhost:3000.

Docker Deployment

# Build and run with Docker Compose
docker-compose up -d

โš™๏ธ Configuration

  • Adding Quotes: Edit the data/quotes.json file to add new quotes
  • Theme: Customize the tailwind.config.js file to change color schemes
  • Translations: Modify files in the public/locales folder to update or add translations

๐Ÿ“– API Documentation

Echoes provides a comprehensive API for developers to access the quotes programmatically:

Endpoints

GET /api/quotes          # Get all quotes (paginated)
GET /api/quotes/:id      # Get quote by ID
GET /api/quotes/random   # Get random quote

Query Parameters

Random Quote Filters

# By language
GET /api/quotes/random?lang=tr

# By multiple languages (comma-separated)
GET /api/quotes/random?lang=en,tr

# By author
GET /api/quotes/random?author=Einstein

# By multiple authors (comma-separated)
GET /api/quotes/random?author=Einstein,Gandhi

# Combined filters
GET /api/quotes/random?author=Yunus&lang=tr
GET /api/quotes/random?author=Einstein,Gandhi&lang=en,tr

Pagination for All Quotes

GET /api/quotes?page=1&perPage=10

๐Ÿค Contributing

Contributions are welcome and appreciated! Here's how you can contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Add your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Types of contributions:

  • Improving or adding translations
  • Adding new quotes to the database
  • Fixing bugs or improving performance
  • Adding new features or enhancing existing ones

๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.


Made with โค๏ธ by Taiizor

Taiizor/Echoes | GitHunt