megadetector-gui icon indicating copy to clipboard operation
megadetector-gui copied to clipboard

Development Methodology and Considerations

Open petargyurov opened this issue 5 years ago • 0 comments

Introduction

This document outlines some of the over-arching themes around the development of this application and serves to remind me and any future developers of some important design decisions.

Project Scope

This project's initial aim is to help conservationists by providing an easy to use application that automates the processing of camera trap images using AI.

Stage Description Status
Stage 1 App simplifies the use of MegaDetector and allows users to perform a quick review of the results ✔️
Stage 2 Users can use other models trained outside of the app, not just MegaDetector
Stage 3 Users can train pre-trained models and use them in the app
Stage 4 Users can continue to train a custom model each time they import new data

Separate Repositories

At the time of writing, this project is split into two repositories. This decoupling comes with advantages and disadvantages.

Pros 👍 Cons 👎
The backend repository can exist as a standalone project Difficult to use GitHub's project management features and management of issues
Confusing build process

At the start of this project I was more inclined to keep the two repos separated. After developing for a couple of months, and taking into consideration the future of the project, I think it would be more beneficial to have a single repo. This is especially important once we enter stage 2.

Inter-process Communication

ℹ️ TODO

Error Handling and Logging

ℹ️ TODO

petargyurov avatar Jan 20 '21 16:01 petargyurov