This repository contains a React application called WorldWise that enables users to track their travels across the globe. It employs various components and functionalities to manage user data and provide an interactive experience.
To run this application locally, follow these steps:
- Clone the repository to your local machine.
- Install dependencies using
npm install
. - Run the development server using
npm run dev
.
npm run dev
: Starts the Vite development server.npm run build
: Builds the application using Vite.npm run lint
: Lints the code using ESLint.npm run preview
: Opens a Vite preview server.npm run server
: Initiates a JSON server to watch city data fromdata/cities.json
.
The application relies on several key dependencies:
json-server
: Simulates a REST API server to handle city data.leaflet
: Utilized for interactive maps and markers.react
andreact-dom
: Core libraries for building the UI.react-datepicker
: Provides a date picker functionality.react-leaflet
: Integrates React with Leaflet for map rendering.react-router-dom
: Manages routing within the application.
- Combines
Sidebar
,Map
, andUser
components to form the main application layout.
- Landing page displaying an overview of the application's purpose and encouraging users to start tracking their travels.
- Allows users to log in to the application with predefined credentials or customize their login details.
- Displays details about the application's pricing or additional information about WorldWise.
- Uses Leaflet to render an interactive map where users can view cities and add new locations by clicking on the map.
- Provide context for city data and user authentication, respectively.
- Includes hooks like
useCities
anduseAuth
to access context values and functionalities.
- Custom hooks to manage geolocation and URL-based position tracking.
Contributions to enhance WorldWise are welcome! Please feel free to submit pull requests or raise issues in the GitHub repository.