A full-stack web app that displays Z Energy fuel station locations, available services, and real-time fuel prices on an interactive map with regional clustering.
- 📌 About The Project
- 📁 Folder Structure
- 🛠️ Built With
- ⚙️ Getting Started
- 🚀 Usage
- 🤝 Contributing
- 📫 Contact
This is a full-stack application built with React and Node.js, using a MongoDB database and Google Maps integration. The app allows users to search for Z Energy fuel stations by city or service (e.g. car wash), view real-time fuel prices, and interact with a responsive map featuring regional clustering.
Z-Station-App/
├── zApp-frontend/ # React client (Vite)
│ ├── public/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── images/
│ │ └── ...
│ └── ...
├── zApp-backend/ # Express.js server
│ ├── config/
│ ├── models/
│ ├── routes/
│ └── ...
├── README.md
└── .gitignore- React
- Vite
- React Router
- Axios
- Google Maps Platform
- Node.js
- Express
- Mongoose
- MongoDB
- CORS
To get a local copy up and running, follow these steps:
- npm
npm install npm@latest -g
- Node.js (v14 or later)
- Clone the repo
git clone [https://github.com/your_username/zapp.git](https://github.com/your_username/zapp.git)
- Navigate to the frontend directory and install NPM packages
cd zapp/zapp-frontend npm install - Navigate to the backend directory and install NPM packages
cd ../zapp-backend npm install - Create a
.envfile in both thezapp-frontendandzapp-backenddirectories. You'll need to add your configuration variables here (e.g., database connection strings, API keys).- Example
zapp-backend/.env:PORT=8000 DATABASE_URL=your_mongodb_connection_string - Example
zapp-frontend/.env:VITE_API_BASE_URL=http://localhost:8000 VITE_Maps_API_KEY=your_Maps_api_key
- Example
Start the backend server:
cd zApp-backend
npm run devStart the frontend dev server:
cd zApp-frontend
npm run devVisit http://localhost:5173 to view the app.
Features:
- 🔍 Search stations by city or service
- ⛽ Toggle fuel price display and filter by fuel type
- 🗺️ Zoom in/out to reveal clustered or individual stations on the map
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch
git checkout -b feature/YourFeature- Commit your changes
git commit -m 'Add YourFeature'- Push to your fork
git push origin feature/YourFeature- Open a Pull Request
Erekle Sesiashvili
GitHub | LinkedIn
Email: [email protected]