A WPF practise application that help tracks animals and their favorite foods.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
WildlifeTrackerSystem is a WPF application designed for tracking wildlife data as a fun, experimental school project, to practice various C# techniques. This project is designed using the MVVM pattern, and practises techniques like dependency injection, event handling, command patterns, and data validation. The application architecture is bloated intentionally, allowing the exploration of multiple software development concepts and patterns in a non-serious, sandbox environment.
The goal of this project is not to create a production-grade application but to experiment with features like custom data services, file management, and model validation in the context of wildlife tracking. This project includes many services and layers to mimic a complex architecture, which allows exploring how these techniques can interact and function.
Follow these steps to get a local copy up and running.
- .NET 6.0 SDK or later
- Visual Studio 2022 or another IDE with WPF support
-
Clone the repo.
-
Open the solution in Visual Studio and build the project.
-
Index your zoo or backyard
- Launch the application.
- Add animals.
- Make recipies for animals.
- Donate to a wildlife sanctuary or animal welfare organization of your choice!
UI:
- Improve the design of the main window to better display wildlife tracking data.
- Implement a more detailed data visualization for wildlife trends (charts, graphs, etc.).
Performance and Optimization:
- Reduce code bloat by cleaning up redundant services and dependencies.
- Refactor the dependency injection setup for better performance and testability.
Feature Expansion:
- Add functionality to export wildlife tracking data to other formats (CSV).
- Implement cloud storage of data.
- Add a notification system for monitoring critical wildlife status.
Testing:
- Add unit tests for the services and command patterns.
- Implement integration tests to ensure different components of the application work together well.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
mavosy - maltesydow@gmail.com
Project Link: https://github.com/mavosy/WildlifeTrackerSystem