Assignment
Assignment
Build a React Native app that allows users to create, manage, and interact with multiple customizable timers. The app will include features like categories, progress
visualization, and grouped actions while maintaining clean UI/UX and minimal third-party dependencies.
Requirements
1. Core Features
1. Add Timer
3. Timer Management
4. Progress Visualization
Show a simple progress bar or percentage for each timer to visualize remaining time relative to the total duration.
5. Bulk Actions
6. User Feedback
Enhanced Functionality
1. Timer History
2. Customizable Alerts
Allow users to set an optional halfway alert for each timer (e.g., at 50% of the total duration).
Display a notification or message when the alert triggers.
Technical Details
State Management : Use useState or useReducer for managing timers and categories.
Navigation: Use React Navigation with at least two screens:
1. Home Screen: Timer list and grouping functionality.
2. History Screen: Log of completed timers.
Persistence: Use AsyncStorage for storing timers and logs.
Styling: Use StyleSheet for clean and responsive layouts.
Timers: Implement time management logic using setInterval .
Deliverables
5–6 hours
This enhanced assignment evaluates advanced React Native skills, including state management, user interaction, data persistence, and UI/UX design . It’s detailed
enough to showcase a mid-level developer’s capabilities while remaining manageable.