Objective: This assessment is designed to evaluate the candidate's ability to build a simple
React Native application, their understanding of state management, UI/UX design principles,
and how they approach problem-solving in mobile development.
Assessment Overview:
You are tasked with creating a simple Todo List Application using React Native. This app will
showcase your knowledge of React Native fundamentals, including components, navigation,
state management, and UI design.
The requirements below specify the functionality and features the app should have.
Assessment Requirements
App Structure & Navigation
● App Navigation: Implement a bottom tab navigation with two screens:
○ Todo List Screen (default screen): Displays a list of tasks.
○ Completed Tasks Screen: Displays tasks that have been marked as completed.
● Use React Navigation for handling the navigation between screens.
Todo List Screen
● Display Todo Items: Display a list of tasks with the following attributes:
○ Task Name (string)
○ Task Status (boolean: complete or incomplete)
● Add New Task: A button to add a new task. The task should have a name and can
initially be marked as incomplete.
● Edit Task: Users should be able to edit the task's name.
● Delete Task: A task can be deleted.
● Mark as Completed: Users should be able to mark a task as completed (checkbox or
toggle).
Completed Tasks Screen
● Display Completed Tasks: Show a list of tasks that have been marked as completed.
● Remove Completed Task: Allow tasks to be deleted from the Completed Tasks screen.
State Management
● Use React's useState and useEffect hooks for local state management.
● Optionally, use a state management library like Redux or Context API for managing the
app's state (for larger or more complex state).
UI Design
● The UI should be simple, clean, and user-friendly.
● Use components from React Native Paper or NativeBase (if preferred) to style your
components.
● Ensure the app is responsive, and looks good on both iOS and Android.
● Focus on providing a good user experience (UX) through intuitive interactions and good
performance.
create expo project and tell from start how setup in vscode and give proper with good UI
I'll guide you through creating an Expo project for your Todo List Application, setting it up in Visual Studio Code, and implementing the required features with a good UI. Let's get started!
First, let's set up the Expo project:
npx create-expo-app TodoListApp
cd TodoListApp
npm install @react-navigation/native @react-navigation/bottom-tabs react-native-paper react-native-safe-area-context react-native-screens
npx expo install expo-status-barcode .Now, let's start building the app:
Now that we have set up the basic structure of our Todo List Application, here are some additional steps and explanations:
npx expo startTo improve the app further, you could:
This implementation covers all the requirements specified in the assessment, including the app structure, navigation, task management functionality, and a clean UI design using React Native Paper components.