forked from iarv/meshview
* Add alembic DB schema management (#86) * Use alembic * add creation helper * example migration tool * Store UTC int time in DB (#81) * use UTC int time * Remove old index notes script -- no longer needed * modify alembic to support cleaner migrations * add /version json endpoint * move technical docs * remove old migrate script * add readme in docs: * more doc tidy * rm * update api docs * ignore other database files * health endpoint * alembic log format * break out api calls in to their own file to reduce footprint * ruff and docs * vuln * Improves arguments in mvrun.py * Set dbcleanup.log location configurable * mvrun work * fallback if missing config * remove unused loop * improve migrations and fix logging problem with mqtt * Container using slim/uv * auto build containers * symlink * fix symlink * checkout and containerfile * make /app owned by ap0p * Traceroute Return Path logged and displayed (#97) * traceroute returns are now logged and /packetlist now graphs the correct data for a return route * now using alembic to update schema * HOWTO - Alembic --------- Co-authored-by: Joel Krauska <jkrauska@gmail.com> * DB Backups * backups and cleanups are different * ruff * Docker Docs * setup-dev * graphviz for dot in Container * Summary of 3.0.0 stuff * Alembic was blocking mqtt logs * Add us first/last timestamps to node table too * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Improves container build (#94) * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Added new api endpoint /api/packets_seen - Modified web.py and store.py to support changes to APIs. - Started to work on new_node.html and new_packet.html for presentation of data. * Worked on /api/packet. Needed to modify - Added new api endpoint /api/packets_seen - Modified web.py and store.py to support changes to APIs. - Started to work on new_node.html and new_packet.html for presentation of data. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * fix ruff format * more ruff * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * pyproject.toml requirements * use sys.executable * fix 0 epoch dates in /chat * Make the robots do our bidding * another compatibility fix when _us is empty and we need to sort by BOTH old and new * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * More changes... almost ready for release. Ranamed 2 pages for easy or reading. * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * ruff --------- Co-authored-by: Óscar García Amor <ogarcia@connectical.com> Co-authored-by: Jim Schrempp <jschrempp@users.noreply.github.com> Co-authored-by: Pablo Revilla <pablorevilla@gmail.com>
133 lines
4.7 KiB
Markdown
133 lines
4.7 KiB
Markdown
# Contributing to Meshview
|
||
|
||
First off, thanks for taking the time to contribute! ❤️
|
||
All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for ways to help and details about how this project handles contributions. Please read the relevant section before getting started — it will make things smoother for both you and the maintainers.
|
||
|
||
The Meshview community looks forward to your contributions. 🎉
|
||
|
||
> And if you like the project but don’t have time to contribute code, that’s fine! You can still support Meshview by:
|
||
> - ⭐ Starring the repo on GitHub
|
||
> - Talking about Meshview on social media
|
||
> - Referencing Meshview in your own project’s README
|
||
> - Mentioning Meshview at local meetups or to colleagues/friends
|
||
|
||
---
|
||
|
||
## Table of Contents
|
||
|
||
- [Code of Conduct](#code-of-conduct)
|
||
- [I Have a Question](#i-have-a-question)
|
||
- [I Want to Contribute](#i-want-to-contribute)
|
||
- [Reporting Bugs](#reporting-bugs)
|
||
- [Suggesting Enhancements](#suggesting-enhancements)
|
||
- [Your First Code Contribution](#your-first-code-contribution)
|
||
- [Improving the Documentation](#improving-the-documentation)
|
||
- [Styleguides](#styleguides)
|
||
- [Commit Messages](#commit-messages)
|
||
- [Join the Project Team](#join-the-project-team)
|
||
|
||
---
|
||
|
||
## Code of Conduct
|
||
|
||
Meshview is an open and welcoming community. We want everyone to feel safe, respected, and valued.
|
||
|
||
### Our Standards
|
||
- Be respectful and considerate in all interactions.
|
||
- Welcome new contributors and help them learn.
|
||
- Provide constructive feedback, not personal attacks.
|
||
- Focus on collaboration and what benefits the community.
|
||
|
||
Unacceptable behavior includes harassment, insults, hate speech, personal attacks, or publishing others’ private information without permission.
|
||
|
||
---
|
||
|
||
## I Have a Question
|
||
|
||
> Before asking, please read the [documentation](docs/README.md) if available.
|
||
|
||
1. Search the [issues list](../../issues) to see if your question has already been asked.
|
||
2. If not, open a [new issue](../../issues/new) with the **question** label.
|
||
3. Provide as much context as possible (OS, Python version, database type, etc.).
|
||
|
||
---
|
||
|
||
## I Want to Contribute
|
||
|
||
### Legal Notice
|
||
By contributing to Meshview, you agree that:
|
||
- You authored the content yourself.
|
||
- You have the necessary rights to the content.
|
||
- Your contribution can be provided under the project’s license.
|
||
|
||
---
|
||
|
||
### Reporting Bugs
|
||
|
||
Before submitting a bug report:
|
||
- Make sure you’re using the latest Meshview version.
|
||
- Verify the issue is not due to a misconfigured environment (SQLite/MySQL, Python version, etc.).
|
||
- Search existing [bug reports](../../issues?q=label%3Abug).
|
||
- Collect relevant information:
|
||
- Steps to reproduce
|
||
- Error messages / stack traces
|
||
- OS, Python version, and database backend
|
||
- Any logs (`meshview-db.service`, `mqtt_reader.py`, etc.)
|
||
|
||
How to report:
|
||
- Open a [new issue](../../issues/new).
|
||
- Use a **clear and descriptive title**.
|
||
- Include reproduction steps and expected vs. actual behavior.
|
||
|
||
⚠️ Security issues should **not** be reported in public issues. Instead, email us at **meshview-maintainers@proton.me**.
|
||
|
||
---
|
||
|
||
### Suggesting Enhancements
|
||
|
||
Enhancements are tracked as [issues](../../issues). Before suggesting:
|
||
- Make sure the feature doesn’t already exist.
|
||
- Search for prior suggestions.
|
||
- Check that it fits Meshview’s scope (mesh packet analysis, visualization, telemetry, etc.).
|
||
|
||
When submitting:
|
||
- Use a **clear and descriptive title**.
|
||
- Describe the current behavior and what you’d like to see instead.
|
||
- Include examples, screenshots, or mockups if relevant.
|
||
- Explain why it would be useful to most Meshview users.
|
||
|
||
---
|
||
|
||
### Your First Code Contribution
|
||
|
||
We love first-time contributors! 🚀
|
||
|
||
If you’d like to start coding:
|
||
1. Look for issues tagged with [good first issue](../../issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
|
||
2. Fork the repository and clone it locally.
|
||
3. Set up the development environment:
|
||
4. Run the app locally
|
||
5. Create a new branch, make your changes, commit, and push.
|
||
6. Open a pull request!
|
||
|
||
---
|
||
|
||
### Improving the Documentation
|
||
|
||
Docs are just as important as code. You can help by:
|
||
- Fixing typos or broken links.
|
||
- Clarifying confusing instructions.
|
||
- Adding examples (e.g., setting up Nginx as a reverse proxy, SQLite vs. MySQL setup).
|
||
- Writing or updating tutorials.
|
||
|
||
---
|
||
|
||
## Join the Project Team
|
||
|
||
Meshview is a community-driven project. If you consistently contribute (code, documentation, or community help), we’d love to invite you as a maintainer.
|
||
|
||
Start by contributing regularly, engaging in issues/PRs, and helping others.
|
||
|
||
---
|
||
|
||
✨ That’s it! Thanks again for being part of Meshview. Every contribution matters. |