Skip to content

BSSNetwork/React-Native-Task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Objective: Create a basic React Native application that displays a list of items (e.g., a list of movies, books, or products) fetched from an API. This task will help assess your knowledge of React Native, API handling, navigation, state management, and UI design.

Task Requirements Basic UI & Component Design:

Create a main screen with a list of items fetched from an external API. Each item should display at least two key pieces of information (e.g., title and description). Clicking on an item should navigate to a details screen showing more information about the selected item. State Management:

Use either React's Context API or a state management library (such as Redux or Zustand) to manage the list of items. Explain why you chose your state management approach. API Integration:

Fetch data from a public API (e.g., Open Movie Database API or any free API you prefer) and display it in the list. Handle loading states and errors gracefully (e.g., show a loading spinner or an error message when applicable). Navigation:

Implement navigation between the list screen and the details screen using React Navigation or another navigation library. Ensure the app's navigation is intuitive and provides a smooth user experience. UI Styling:

Style the app to be visually appealing using either basic React Native styling or a UI library like React Native Paper or NativeBase. Ensure the app is responsive on different screen sizes. Error Handling & Edge Cases:

Handle edge cases, such as empty data responses, network errors, and unexpected data formats. Add appropriate error messages or fallbacks to handle these cases gracefully. Documentation & Code Quality:

Write clean, maintainable code, with appropriate comments where needed. Include a brief README file explaining the following: The steps to set up and run the app. Any design decisions or trade-offs you made during development. Any additional features or improvements you would make if given more time. Evaluation Criteria: React Native Proficiency:

Ability to create functional, well-structured components and understand lifecycle methods/hooks. State Management:

Knowledge of state management principles and choosing an appropriate approach (Redux, Context API, etc.). Navigation:

Understanding of navigation principles in mobile apps and implementing smooth transitions.

UI and Styling Skills:

Capability to build a visually appealing, responsive, and intuitive UI. API Integration and Error Handling:

Handling data fetching, loading states, and error handling. Code Quality and Documentation:

Readability, organization, and clarity in the code, as well as the quality of documentation provided.

Optional Bonus (Advanced) Tasks:

Offline Support:

Implement basic offline support (e.g., caching the API response for offline use). Animations:

Add subtle animations for navigating between screens or when the list of items loads. Unit Tests:

Write unit tests for at least one component, such as the list component or detail screen.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published