https://github.com/edenysd/weather-pipe
Web application designed to provide users with interactive maps and dashboard displaying various weather-related data powered by meteojs + solidjs
https://github.com/edenysd/weather-pipe
meteorjs open-layers open-street-map open-weather-api open-weather-map-api park-ui solidjs
Last synced: 22 days ago
JSON representation
Web application designed to provide users with interactive maps and dashboard displaying various weather-related data powered by meteojs + solidjs
- Host: GitHub
- URL: https://github.com/edenysd/weather-pipe
- Owner: edenysd
- Created: 2024-03-15T04:23:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-16T04:54:44.000Z (about 1 year ago)
- Last Synced: 2025-02-10T22:46:25.187Z (3 months ago)
- Topics: meteorjs, open-layers, open-street-map, open-weather-api, open-weather-map-api, park-ui, solidjs
- Language: TypeScript
- Homepage:
- Size: 210 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Weather Pipe
## Description
This project is a web application designed to provide users with interactive maps displaying various weather-related data. It includes features such as user authentication, dashboard customization, and real-time weather updates.## Getting Started
To run the project locally, follow these steps:
1. Clone the repository.
2. Install Meteor if you haven't already.
3. Install dependencies
4. Start the frontend and backend servers.
5. Access the application via the provided URL.
6. Set the environment variable METEOR_SETTINGS with your Open Weather API key. For example:
```
METEOR_SETTINGS='{ "OW_API_KEY": "xxxxxxxxxxxxxxxxxxxxxxxxx" }' npm start
```
## Technologies Used### Frontend
- SolidJS: Main frontend technology for building the UI.
- Park-UI and Flowbite: Component libraries for UI design and development.
- solidjs-router: Routing solution for navigation within the application.
- OpenLayers: Mapping engine for displaying interactive maps.
- OpenStreetMap and OpenWeatherMap: Map providers for weather-related data.### Backend
- MeteorJS: Backend framework for handling server-side logic.
- aldeed:collection2: Package for defining collection schemas and performing document checks.
- reywood:publish-composite: Package for reactive data publishing with collection relationships.
- meteortesting:mocha: Testing framework for unit and integration tests.## Project Architecture
### Frontend Architecture
- Utilizes SolidJS for building the frontend application.
- Implements guard routes in AppLayout and HomeLayout to control access to specific routes.
- Includes a 404 route for handling invalid URLs.
- Features a user-friendly login page with comprehensive validation and messaging.
- Dashboard functionality allows users to create and manage locations on interactive maps.### Backend Architecture
- Built using the MeteorJS stack.
- Utilizes collections to store user data and preferences.
- Implements publications for reactive handling of user locations and preferences.
- Includes methods for creating, deleting, and reordering user preferences.
- Implements a proxy for weather map data to secure access keys.
- Utilizes a timer for updating user locations on the dashboard.## Future Improvements
- Implement caching mechanisms to improve performance and reduce API requests.
- Enhance error handling and messaging for a more user-friendly experience.
- Explore additional features such as geolocation services for enhanced user interaction.## Contributing
Contributions are welcome! Feel free to submit bug reports, feature requests, or pull requests to help improve the project.## License
This project is licensed under the MIT License