This Hiking Routes & Events Application is a platform designed for hiking enthusiasts in Catalonia, providing tools to:
- Discover hiking routes: View routes with detailed information, including starting and ending points, elevation gain, distance, and difficulty.
- Plan events: Add events to a calendar, specifying the route, date, and starting time.
- Visualize routes: Display routes on an interactive map powered by Mapbox.
- Manage routes: Add, edit, and delete routes effortlessly.
The project integrates a user-friendly interface, an interactive calendar, and a map to enhance the experience for hiking lovers.
Hiking_Paths_Demo.mp4
- Add new routes with key details: name, description, origin, destination, distance, elevation gain, and difficulty (low, medium, high).
- View all routes in a grid format, including their origin and destination.
- Edit or delete existing routes directly from the interface.
- Display all routes on an interactive Mapbox map.
- View starting points as colored markers based on difficulty:
- Green: Easy routes
- Orange: Medium difficulty
- Red: Challenging routes
- Click on markers to view additional route details in a popup.
- View and manage events using a full calendar interface.
- Create events by selecting a date, specifying the starting time, and choosing a route.
- Edit or delete events directly from the calendar.
- React: Component-based library for building the user interface.
- React Router: Manage navigation between pages.
- React Calendar: Interactive calendar component.
- FullCalendar: Calendar with event management capabilities.
- Mapbox: Interactive maps for visualizing routes.
- Tailwind CSS: Styling the application with utility-first CSS.
- Node.js: Server-side JavaScript runtime.
- Express: Framework for building the REST API.
- MySQL: Relational database for storing routes and events.
Follow these steps to clone and run the application:
git clone <https://github.com/JordiLara/ITACADEMY-8.0-React-Maps-Graphs-MySQL-Calendar-API.git>
git clone <https://github.com/JordiLara/ITACADEMY-8.1-Backend-React-Maps-Graphs-MySQL-Calendar-API.git>
# Install server (back-end) dependencies
npm install
# Install client (front-end) dependencies
npm install
Create .env
files for both the client and server with the required API keys (e.g., Mapbox token) and database credentials.
# Start the server
npm run start
# Start the client
npm run dev
Open the link given when you run the client. (your local host, usually)
Future enhancements might include:
- User authentication to save personal preferences and events.
- Better design to better user experience.
- Add images.
- Export calendar events to external tools like Google Calendar.
- Add route ratings and reviews.
- Multi-language support.
This project is open-source and available under the MIT License.
- Frontend: https://github.com/JordiLara/ITACADEMY-8.0-React-Maps-Graphs-MySQL-Calendar-API.git
- Backend: https://github.com/JordiLara/ITACADEMY-8.1-Backend-React-Maps-Graphs-MySQL-Calendar-API.git
Enjoy your hikes and make the most of this application!