Begin by reading the project documentation to get a high-level understanding:
GrowERP consists of:
Examine Service Definitions:
moqui/runtime/component/growerp/service/growerp/100/*.xml
filesUnderstand the REST API:
https://backend.growerp.com/toolstatic/lib/swagger-ui/index.html?url=https://backend.growerp.com/rest/service.swagger/growerp#/100
Explore Data Model:
mantle-udm
componentService-Oriented Architecture:
runtime/component
directoryUnderstand Package Structure:
flutter/packages/
admin
, hotel
, freelance
build on theseExamine Main Entry Points:
Understand Menu Structure:
REST Client:
Configuration:
Backend Setup:
cd moqui
./gradlew build
java -jar moqui.war load types=seed,seed-initial,install no-run-es
java -jar moqui.war no-run-es
Frontend Setup:
cd flutter
dart pub global activate melos 3.4.0
export PATH="$PATH":"$HOME/.pub-cache/bin"
melos bootstrap
melos l10n --no-select
melos build --no-select
cd packages/admin # or hotel, freelance, etc.
flutter run
Docker Setup (Alternative):
docker-compose.yaml
in the docker
directory to run the complete systemBLoC Pattern:
Model Classes:
growerp_models
to understand the data structuresScreen Templates:
Login to Backend:
http://localhost:8080/vapps
with user: SystemSupport, password: moquiTest Frontend Applications:
To efficiently get up to speed each time you start working on the project, establish this routine:
Check System Status:
# Check if backend is running
curl http://localhost:8080/status
# Check running Docker containers if using Docker
docker ps
Update Code:
# Pull latest changes
git pull
# Update dependencies
cd flutter
melos bootstrap
Review Recent Changes:
# View recent commits
git log --oneline -10
# Check for changes in key files
git diff HEAD~5 -- flutter/packages/growerp_models/lib/src/rest_client.dart
git diff HEAD~5 -- moqui/runtime/component/growerp/service/
Start Development Environment:
Start backend in one terminal:
cd moqui
java -jar moqui.war no-run-es
Start frontend in another terminal:
cd flutter/packages/admin # or other app
flutter run
Check API Documentation:
http://localhost:8080/toolstatic/lib/swagger-ui/index.html?url=http://localhost:8080/rest/service.swagger/growerp#/100
Monitor Logs:
Keep an eye on backend logs for errors:
tail -f moqui/runtime/log/moqui.log
Watch Flutter console output for frontend issues
Test Key Functionality:
This daily startup routine ensures you're always working with the latest code, aware of recent changes, and have a functioning development environment before diving into new tasks.
This approach provides a systematic way to understand both the frontend and backend components of the GrowERP project, their interactions, and how to run and test the system locally.