This repository contains a Flutter application that implements the requirements as indicated for assessment. The app supports both Android and iOS devices. It can be dynamically set to dark or light mode. The user can also dynamically set the primary color that the app uses.
The app accesses the various endpoints referenced through a connection to a GCP hosted NodeJS backend application built with the NestJS framework. Authentication for users is provided via Firebase.
The backend application that provides the API lives at https://github.com/malengatiger/test_backend
- Landing Page
- User SignIn / Registration
- Latest Block
- Tezos Block
- Block Transactions
- Top Movers
- Trending News
- My Assets
- Settings
On first installation of the app the user has to register first. The email requested does not have to be a real email address. The address is merely used to authenticate the user and has no other purpose. If already registered the user can sign in instead.
![Screenshot 2024-06-01 at 09 50 25](https://private-user-images.githubusercontent.com/343710/335800392-75e0dd6f-06f4-46da-a884-2ebd741481a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyMTEwNzEsIm5iZiI6MTcyMTIxMDc3MSwicGF0aCI6Ii8zNDM3MTAvMzM1ODAwMzkyLTc1ZTBkZDZmLTA2ZjQtNDZkYS1hODg0LTJlYmQ3NDE0ODFhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxN1QxMDA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yOGVmMDAzNzA2NDgzNWUyY2Y2OTg0NmE5MzgwYmViNjFiNDk2ZmJlOTNiZGM2MjMxZTFjOGQ2MjcxNjA5ZDk4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.V0AxH48xP3LUIvKs6nlImcIH-lMB8kA6nRtwFr-ha1Y)
![Screenshot 2024-06-01 at 13 42 08](https://private-user-images.githubusercontent.com/343710/335800446-e203ede6-380d-491a-a91e-74dff7f16140.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyMTEwNzEsIm5iZiI6MTcyMTIxMDc3MSwicGF0aCI6Ii8zNDM3MTAvMzM1ODAwNDQ2LWUyMDNlZGU2LTM4MGQtNDkxYS1hOTFlLTc0ZGZmN2YxNjE0MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxN1QxMDA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMTJkOTFmOWEyODIxZjZmZjJjZmY3MGExNjRmNTA4MmVhZWUxNzFmZDZkOWY3ZTAyNTU1ZDQyNWYxZDkwYTI0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.PILlTzK_y6FZ65m4WaIE5q3sF9NVZyvbeRyeydwWggE)
![Screenshot 2024-06-01 at 13 43 50](https://private-user-images.githubusercontent.com/343710/335800487-38c2199a-658a-4cb5-ba65-67db1dc7f542.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyMTEwNzEsIm5iZiI6MTcyMTIxMDc3MSwicGF0aCI6Ii8zNDM3MTAvMzM1ODAwNDg3LTM4YzIxOTlhLTY1OGEtNGNiNS1iYTY1LTY3ZGIxZGM3ZjU0Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxN1QxMDA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYzEzOWU5NDI4NDg3NjQyNGVjZmE1YTc0NjI4NTBiYjJmOWVmNTJlOTQxYzJhNzkwMDA0MzI1Y2M0MGMzMDcyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.s1JSeCnAOWJK7G4vzMk8Qj4Mi-3XmdAZrJtdNywba-k)
![Screenshot 2024-06-03 at 07 41 34](https://private-user-images.githubusercontent.com/343710/335950538-f11c2276-21be-4f92-874e-16d8c4da5b9c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyMTEwNzEsIm5iZiI6MTcyMTIxMDc3MSwicGF0aCI6Ii8zNDM3MTAvMzM1OTUwNTM4LWYxMWMyMjc2LTIxYmUtNGY5Mi04NzRlLTE2ZDhjNGRhNWI5Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxN1QxMDA2MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTUyNWQ2ZDczODRhZTUxMmM3ODZiODk4Y2I4ZWZjZTdmYmM3OTRhOWQ5NzM3NGNlMjliYjlmOTJkMDJkNzc2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.cCOzh2fAItfvZ-SvnzMJ36zLPvnis2-Uy0pbj4i3sSY)
The Android app apk can be downloaded from https://drive.google.com/file/d/1ICM5Fad5ec31v030FLU8_lj1hcwwEjkN/view?usp=drive_link
The iOS app can be provided if required. In that case, some setup would be necessary.