HackerRank is a technology hiring platform that is the standard for assessing developer skills for over 2,800+ companies worldwide.
Many companies have full-fledged websites but not mobile applications. In today's world, people consume most of their time on their mobiles. Hence, it is not feasible to expand a business without mobile applications. For the company's growth, it is advisable to have a mobile application too.
- Features
- Screenshots
- Setup
- Version of Technologies
- Folder Structure
- Installed Dependency
- MIT License
- Community
- Login
- List Of Prepare Topics
- List Challenges
- Bookmark Challenges
- Challenge Details
- View Profile
- List Bookmarks
- LogOut
$ git clone https://github.com/DhiWise/HackerRankMobileApp
$ cd HackerRankMobileApp
flutter pub get
flutter run
2. Set Token and Cookie in login screen _onCreateLoginSuccess method to access feature of Profile and Bookmark
This is the documentation of Flutter Applications. It holds all the info you need to get started with and make changes to your App
This application is build on MVVM architecture.
- System Requirements
- Figma design guideline for better accuracy
- App Navigations
- Project Structure
- How you can do code formatting?
- How you can improve the readability of code?
- Libraries and tools used
- Support
Dart SDK Version 2.12.0 or greater. Flutter SDK Version 2.0.0 or greater.
Read our guidelines to increase the accuracy of design conversion to code by optimizing Figma designs. https://docs.dhiwise.com/knowledgehub/reference-guide-and-tools/figma
Check your app's UI from the AppNavigation screen of your app.
After successful build, your application structure should look like this:
.
├── android - contains files and folders required for running the application on an Android operating system.
├── assets - contains all images and fonts of your application.
├── ios - contains files required by the application to run the dart code on iOS platforms.
├── lib - Most important folder in the project, used to write most of the dart code.
├── main.dart - starting point of the application
├── core
│ ├── app_export.dart - contains commonly used file imports
│ ├── constants - contains all constants classes
│ ├── errors - contains error handling classes
│ ├── network - contains network related classes
│ └── utils - contains common files and utilities of project
├── data
│ ├── apiClient - contains api calling methods
│ ├── models - contains request/response models
│ └── repository - network repository
├── localization - contains localization classes
├── presentation - contains all screens and screen controllers
│ └── screens - contains all screens
├── routes - contains all the routes of application
└── theme - contains app theme and decoration classes
- if your code is not formatted then run following command in your terminal to format code
dart format .
Resolve the errors and warnings that are shown in the application.
- get - State management https://pub.dev/packages/get
- connectivity_plus - For status of network connectivity https://pub.dev/packages/connectivity_plus
- pull_to_refresh - For list functionalities https://pub.dev/packages/pull_to_refresh
- cupertino_icons - For iOS icons https://pub.dev/packages/cupertino_icons
- shared_preferences - Provide persistent storage for simple data https://pub.dev/packages/shared_preferences
- cached_network_image - For storing internet image into cache https://pub.dev/packages/cached_network_image
If you have problems or questions go to our Discord channel, we will then try to help you as quickly as possible: https://discord.com/invite/rFMnCG5MZ7
MIT License
Copyright (c) 2022 DhiWise
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.