Skip to content

Oohnohassani/Pingo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ Pingo โ€” Travel Tracking & Planning App

Pingo is a travel tracking and planning app that lets users map visited cities, save notes and memories, and organize trips visually. With personalized recommendations and smart planning tools, it helps travelers relive past journeys and discover new destinations. ๐ŸŒโœˆ๏ธ

๐Ÿ”— Live Demo

๐Ÿ‘‰ https://pingo-oohnohassani.netlify.app/

๐Ÿ“ธ App Preview

Pingo

โœจ Features

  • ๐Ÿ“ Geolocation Integration Automatically detects and centers the map based on the userโ€™s current location.

  • ๐Ÿ—บ๏ธ Interactive Maps (Leaflet) Smooth and dynamic map experience powered by React Leaflet.

  • ๐Ÿ“Œ Track Visited Cities Click anywhere on the map to add and save locations.

  • ๐Ÿ“ Notes & Memories Store travel details, dates, and personal notes for each place.

  • ๐Ÿ” Authentication & Protected Routes Secure parts of the app with login logic and route protection.

  • ๐Ÿ”„ Client-Side Routing (React Router) Fast navigation without page reloads.

  • ๐ŸŒ Fetch API Integration Handles communication with the backend.

  • ๐Ÿง  Global State Management (Context API) Clean and scalable state handling across the app.

  • ๐Ÿ—„๏ธ JSON Server (Mock Backend) Simulates a real backend for storing and retrieving travel data.

  • โšก Vite Powered Lightning-fast development and build performance.

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React + Vite
  • Routing: React Router
  • Maps: React Leaflet
  • State Management: Context API
  • Data Fetching: Fetch API
  • Backend: JSON Server
  • Authentication: Custom auth system
  • Styling: CSS Modules

๐Ÿš€ Getting Started

Follow these steps to run the project locally:

1. Clone the repository

git clone https://github.com/Oohnohassani/Pingo.git
cd Pingo

2. Install dependencies

npm install

3. Start JSON Server (Backend)

npm run server
  • Starts the mock API (typically on http://localhost:8000)
  • Stores your places and travel data

4. Start the Development Server

Open a new terminal:

npm run dev

Then visit:

http://localhost:5173

โš ๏ธ Important Notes

  • You must run both servers simultaneously:

    • JSON Server โ†’ backend
    • Vite โ†’ frontend
  • ๐ŸŒ Geolocation requires browser permission If denied, location-based features will be limited.

๐Ÿ“‚ Project Structure

src/
โ”œโ”€โ”€ components/   # Map, UI elements, forms
โ”œโ”€โ”€ contexts/     # Global state (Places, Auth)
โ”œโ”€โ”€ hooks/        # Custom hooks (useGeolocation)
โ”œโ”€โ”€ pages/        # Route-based pages
โ”œโ”€โ”€ utils/        # Helper functions

๐Ÿ”ฎ Future Improvements

  • ๐ŸŒ Replace JSON Server with a real backend (Node.js / Firebase)
  • ๐Ÿ”Ž Add search & filtering for places
  • ๐Ÿ“ฑ Improve mobile responsiveness
  • ๐Ÿค Enable trip sharing & collaboration
  • ๐Ÿงญ Advanced trip planning tools

๐Ÿ‘จโ€๐Ÿ’ป Author

This project showcases:

  • Real-world React architecture
  • API integration & async handling
  • Authentication & protected routing
  • Interactive maps & geolocation
  • Scalable state management

Happy coding โœŒ๏ธ

About

Pingo is a travel tracking and planning app that lets users map visited cities, save notes and memories, and organize trips visually. With personalized recommendations and smart planning tools, it helps travelers relive past journeys and discover new destinations. ๐ŸŒโœˆ๏ธ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors