# Assignment requirements - [ ] Express API with at least 17 endpoints - [ ] Testing: both integration and unit tests - [ ] Authentication & Authorization: using JWT tokens or a similar technology - [ ] Error handling - [ ] MongoDB CRUD operations and Mongoose modeling (with Joi validation) - [ ] Complete data and input validation (including ObjectId validation) - [ ] Middleware functions - [ ] A detailed deployment step-by-step plan: the application must be deployed on a cloud server and publicly accessible - [ ] REST Client API calls provided for all API endpoints - [ ] Comprehensive API documentation # Feature plan - [ ] User management (user/monitor) - [x] Registration - [ ] Validation based on type - [x] Login - [x] Delete - [ ] Password reset - [ ] User profile management - [ ] Device management - [ ] Organisation (who's coming? announcement of events, ...) - [ ] Budgeting with tracking - [ ] Get current budget - [ ] Review spending history - [ ] Request additional budget in case of emergency - [ ] Emergency alarm - [ ] Silencing/clearing - [ ] Optional: integration with park's emergency services - [ ] Emergency contact & info card - [ ] Limitations on consumptions - [ ] Allergies - [ ] Sugar intake limitations - [ ] Location tracking - [ ] Sensor tracking (sugar level, heart rate, temperature, ...) - [ ] Day planning (meetups, departure, ...) - [ ] Location of activities - [ ] Deadlines - [ ] Approval of rental of material (independent of budgeting, ie. bikes, ...) - [ ] Restrictions on attractions (health issues, age, ...) - [ ] Integration API for park infrastructure (e.g., user-only WiFi network, payment via park wristband according to budget, ...) - [ ] User-only WiFi network - [ ] Payment via park wristband according to budget - [ ] Integration with park's existing systems for seamless user experience