How vickykriger/rutaverde_backend works
RutaVerde is an Express backend for account access, ecological region and native-plant browsing, and user-submitted tile contributions. A client sends requests to the server, which dispatches them through route modules to controllers and services. Registration and login validate credentials and access user records; region endpoints return region data and plant associations; tile submission validates metadata, resolves a plant, uploads an image, and records the contribution. The server also serves ecoregion data from a local JSON file. Source excerpts were unavailable for the Supabase configuration and upload middleware, so their internal behavior is not detailed.
Main entry points: index.js Express server · baldosaService.js Tile service · authService.js Auth service · regionService.js Region service
Components 16
API server
- Express server
index.js
Account access
- Auth routes
src/routes/authRoutes.js - Auth controller
src/controllers/authController.js - Auth service
src/services/authService.js
Ecological catalog
- Region routes
src/routes/regionRoutes.js - Region controller
src/controllers/regionController.js - Region service
src/services/regionService.js - Ecoregion data
ecorregiones.json
Tile contributions
- Tile routes
src/routes/baldosaRoutes.js - Image upload
src/middlewares/multer.js - Tile controller
src/controllers/baldosaController.js - Tile service
src/services/baldosaService.js
Data services
- Supabase client
src/config/supabase.js - Supabase database
- Supabase image storage
Other components
- API client
Connections 20
- API client → Express server: sends requests
- Express server → Auth routes: mounts routes
- Express server → Region routes: mounts routes
- Express server → Tile routes: mounts routes
- Auth routes → Auth controller: dispatches
- Auth controller → Auth service: calls
- Auth service → Supabase client: uses client
- Auth service → Supabase database: reads/writes users
- Region routes → Region controller: dispatches
- Region controller → Region service: calls
- Region service → Supabase client: uses client
- Region service → Supabase database: reads regions
- Tile routes → Image upload: processes image
- Tile routes → Tile controller: dispatches
- Tile controller → Tile service: calls
- Tile service → Supabase client: uses client
- Tile service → Supabase database: looks up plant
- Tile service → Supabase image storage: uploads image
- Tile service → Supabase database: writes tile
- Express server → Ecoregion data: reads data