ManateeWatch is a progressive web application designed to help people find up-to-date manatee sighting locations in their area. Florida is well known for being home to manatees, but spotting them can be tricky. This app serves as a one-stop map to show where manatees are, where they have been, and helps users predict where they might be next.
- Summary
- Features
- Purpose
- MVP (Minimum Viable Product)
- Additional App Goals/Functionality
- Installing ManateeWatch on iOS
- Installing ManateeWatch on Android
- Database Schema
- Contributing to ManateeWatch
- Want to support ManateeWatch?
- Contact
- License
- Manatee Sighting Information: Users can upload photos, coordinates, and information about manatees they have spotted.
- Sighting Map: A shared map populated with user-uploaded sightings.
- User Accounts: Sightings are associated with user accounts for easy editing or deletion.
- Future Features: Implementation of a k-nearest neighbor algorithm to predict manatee locations based on recorded sightings.
ManateeWatch aims to help locals and tourists alike find manatees in their natural habitat. By providing a platform for users to share sightings and track manatee locations, the app contributes to the appreciation and conservation of these gentle sea creatures. Users can discover, join, and organize manatee sighting events, and track their contributions to manatee conservation efforts.
The MVP includes:
- User Authentication: Secure login and access to the platform's features.
- User Profile CRUD Methods: Create, read, update, and delete profile information.
- Manatee Sighting CRUD Methods: Create, manage, and search for manatee sightings.
- Integration with Mapbox: Location-based features for tracking and displaying manatee sightings.
- Monthly/Weekly Sighting Challenges: Encourage user participation in recording sightings.
- Manatee Tracker Component: Track and display users' contributions to manatee sighting efforts.
Additional functionalities include:
- Gamification: Assign badges based on completed challenges.
- Social Media Integration: Share manatee sighting events and locations.
- Local Event API Integration: Import events related to manatee conservation from various platforms.
- AI Integration: Enhance features for predicting manatee sightings.
- Open Safari and navigate to manateewatch.com
- Once the site loads, tap the Share button at the bottom center of the screen.
- In the Share menu, locate the “Add to Home Screen” option.
- Open Chrome and navigate to manateewatch.com
- Tap the menu button, usually three vertical dots, in the top right corner
- Select Add to Home screen
- Tap Add in the pop-up
The ManateeWatch database is built using PostgreSQL. Below is a visual representation of the schema, followed by a description of the key tables:
- Users Table: Stores user information such as username, password, and email.
- Profiles Table: Contains additional user profile details like observer stats and profile picture.
- Sightings Table: Records details of each manatee sighting including observer ID, sighting data and links to observation reactions.
- Reactions Table: Records comments, likes, and species validation flags for each reported sighting.
Contributing to ManateeWatch
We welcome contributions from the community! If you'd like to contribute to this project, please follow these guidelines:
- Fork the repository and clone it to your local machine.
- Create a new branch for your feature or bug fix:
git checkout -b feature/my-feature
orgit checkout -b bugfix/my-bug-fix
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/my-feature
. - Submit a pull request against the
main
branch.
Please ensure that your pull request adheres to the following guidelines:
- Describe your changes in detail and provide a clear explanation of the problem your PR is solving.
- Ensure that your code follows the project's coding standards and conventions.
- Include tests if applicable.
- Update the README if your changes introduce new functionality or affect existing features.
- Review and adhere to the Code of Conduct.
For detailed instructions on installation prerequisites and setting up the Django backend and React frontend to contribute, please refer to the Contributor Setup Guide.
Thank you for your contribution!
We are accepting donations to help cover the maintenance costs of keeping ManateeWatch online. If you'd like to be one of our first supporters please follow the below link to buy me a coffee!
If you have any questions, feel free to reach out to me at kdwwatts@gmail.com.
Make sure to check out the site at manateewatch.com
This project is licensed under the MIT License - see the LICENSE file for details.