summary refs log tree commit diff
path: root/plan.md
blob: 3588bf8490262b4965f4d4d13a3fe73902182a0b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Assignment requirements

- [x] Express API with at least 17 endpoints
- [x] Testing: both integration and unit tests
- [x] Authentication & Authorization: using JWT tokens or a similar technology
- [x] Error handling
- [x] MongoDB CRUD operations and Mongoose modeling (with Joi validation)
- [ ] Complete data and input validation (including ObjectId validation)
- [x] Middleware functions
- [ ] A detailed deployment step-by-step plan: the application must be deployed on a cloud server and publicly accessible
- [x] REST Client API calls provided for all API endpoints
- [x] Comprehensive API documentation

# Feature plan

- [ ] User management (user/monitor)
  - [x] Registration
    - [ ] Validation based on type
  - [x] Login
  - [-] Logout
  - [x] Delete
  - [ ] Password reset
  - [ ] User profile management
  - [ ] Device management
- [ ] Organisation (who's coming? announcement of events, ...)
- [ ] Budgeting with tracking
  - [x] Get current budget
  - [ ] Review spending history
  - [ ] Request additional budget in case of emergency
- [x] Emergency alarm
  - [x] Get alarm list (monitor)
  - [x] Silencing/clearing
  - [ ] Optional: integration with park's emergency services
- [x] Emergency contact & info card
  - [ ] Endpoints
- [ ] Limitations on consumptions
  - [ ] Allergies
  - [ ] Sugar intake limitations
- [x] Location tracking
  - [ ] Endpoints
- [x] Sensor tracking (sugar level, heart rate, temperature, ...)
  - [ ] Endpoints
- [ ] 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