Skip to content

A modern, interactive React web app that lets you explore a collection of robot friends with smart search, responsive design, and smooth animations. Built with React 18, Bootstrap, and integrated with Google Sheets API.

Notifications You must be signed in to change notification settings

chhedadhruv/Robofriends

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoboFriends 🤖

A modern, interactive React-based web application that showcases a collection of unique robot friends with smart search capabilities and beautiful UI animations.

🌟 Features

  • Interactive Robot Gallery: Browse through a collection of unique robot cards with personalized avatars
  • Smart Search: Advanced search functionality with:
    • Real-time search suggestions
    • Fuzzy matching for typos
    • Search highlighting in results
    • Recent search history
    • Multi-term search support
  • Add New Robots: Integrated Google Form to submit new robot entries
  • Responsive Design: Fully responsive layout that works on all devices
  • Modern UI: Beautiful animations, loading states, and error handling
  • Performance Optimized: Debounced search, memoized components, and efficient rendering

🚀 Live Demo

Visit the live application: robofriends.dhruvchheda.com

📸 Screenshots

Home Page Search Results Search Suggestions Add Robot Form
Home Search Results Search Suggestions Add Robot Form

🛠️ Installation

  1. Clone the repository:

    git clone https://github.com/chhedadhruv/Robofriends.git
    cd Robofriends
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory with the following variables:

    REACT_APP_ROBOTS_API_URL=your_google_sheets_api_url
    REACT_APP_ADD_ROBOT_FORM_URL=your_google_form_url
    REACT_APP_ROBOHASH_API_URL=https://robohash.org
  4. Start the development server:

    npm start
  5. Open your browser: Navigate to http://localhost:3000 to view the application.

🎯 Usage

Browsing Robots

  • View all robot friends displayed as cards with unique avatars
  • Each card shows the robot's name, email, and personalized image

Searching

  • Use the search bar to find robots by name or email
  • Get real-time suggestions as you type
  • View search history for quick access to previous searches
  • Search supports multiple terms and fuzzy matching

Adding New Robots

  • Click the "Add Robot" button to open the Google Form
  • Fill in the robot details (name, email, etc.)
  • Submitted robots will appear in the gallery after processing

🏗️ Project Structure

src/
├── App.js          # Main application component
├── App.css         # Styling and animations
├── index.js        # React DOM rendering
├── SEGA.woff       # Custom font file
└── reportWebVitals.js

🧪 Technologies Used

  • Frontend Framework: React 18
  • UI Library: React Bootstrap 5
  • Icons: React Icons (Font Awesome)
  • Styling: Custom CSS with Bootstrap
  • API Integration: Google Sheets API for data
  • Robot Generation: Robohash.org

📦 Dependencies

  • react & react-dom - Core React framework
  • react-bootstrap & bootstrap - UI components and styling
  • react-icons - Icon library

🔧 Development Features

  • Performance Optimizations:

    • Debounced search input (300ms delay)
    • Memoized search results and suggestions
    • Optimized re-renders with useCallback hooks
  • User Experience:

    • Loading spinners and error states
    • Smooth animations and transitions
    • Responsive grid layout
    • Search result highlighting
  • Code Quality:

    • Modern React hooks and functional components
    • Clean component architecture
    • Proper error handling and loading states

👨‍💻 Author

Dhruv Chheda

🙏 Acknowledgments

  • Robohash.org for providing the robot avatar generation service
  • React Bootstrap team for the excellent UI components
  • The React community for the amazing ecosystem

About

A modern, interactive React web app that lets you explore a collection of robot friends with smart search, responsive design, and smooth animations. Built with React 18, Bootstrap, and integrated with Google Sheets API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published