An app designed to map bridges with their safety for otters.
Pro Lutra: Untendurch is a web application that enables users to report and view bridges, evaluating their safety for otters. The project aims to improve wildlife conservation efforts by identifying potentially hazardous crossing points.
The app consists of the following components:
backend- Express JS server wrapping parse-server, parse-dashboard and other servicesfrontend- React client for bridge reporting and viewingtools- CLI utilities for database and file synchronizationmongodb- Database for Parse
node >= 24docker >= 25
The yarn CLI is included in this repository and can be used to install dependencies.
yarn install# Start MongoDB
yarn workspace @untendurch/backend run db:start
# Start backend in development mode
yarn workspace @untendurch/backend run devyarn workspace @untendurch/frontend run devAccess points:
- Web application: http://localhost:5173
- Parse Dashboard: http://localhost:1337/dashboard
- Parse Server API: http://localhost:1337/parse
- MongoDB:
localhost:27017
To sync data from a remote environment to local development:
# Sync database and files from remote
yarn sync
# Or run individually:
yarn db:sync # Download and import database
yarn files:sync # Download and import filesRun linting, formatting and type checking across all packages:
yarn check# Build backend
yarn workspace @untendurch/backend run build
# Build frontend (choose environment)
yarn workspace @untendurch/frontend run build:dev
# or
yarn workspace @untendurch/frontend run build:test
# or
yarn workspace @untendurch/frontend run build:proddocker build --build-arg ENVIRONMENT=prod --build-arg CI_COMMIT_SHORT_SHA=$(git rev-parse --short HEAD) .Extract translation strings from all supported languages:
yarn workspace @untendurch/frontend run i18n-extractCompile translations for runtime use:
yarn workspace @untendurch/frontend run i18n-compileThe Docker Compose setup in docker-compose/example can be used as a template for TEST, PRE-PROD, or PROD environments.
- Copy the
.env.examplefile to.env - Modify the
.envfile with appropriate values - Use docker-compose to start the services
The project contains the following packages with their own documentation:
This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE - see the LICENSE file for details