Front-end Engineer Hiring Challenge
Important Note - please do NOT put “Synpulse” or “Synpulse8” in your code or documents
Summary
Design a mobile application that enables users to search for financial instruments (stocks, ETFs, commodities, crypto) on the NYSE/Nasdaq stock exchanges, learn more information about the stocks, and add them to their portfolio.
Deliverables
- Attempt to implement the design using a Framework such as React Native, Ionic, Flutter or a strategically typed language such as Kotlin, or a dynamically typed language such as JavaScript or any of the frameworks it supports (Angular 8.0 or later, ReactJS, Vue.js)
- The user will be able to undertake the following actions in the mobile app:
- Register and login users via:
- Phone Number (Account / Username)
- Password (OTP)
- Search for financial instruments by ticker, common name, or other terms
- View information on the financial instrument
- Realtime price of the financial instrument
- Historical price data of the financial instrument
- News related to the financial instrument, user should be able to click on the source, and be redirected to the source’s origin.
- Share the financial instrument with external parties.
- Follow the financial instrument in the process adding it to their watch list (portfolio)
- Manage their watch list by adding or removing financial instruments
- Have an overview of the losses and gains in their portfolio
- Register and login users via:
Note
-
Screens above are only for reference, please create other screens based on similar look and feel if necessary, to demonstrate the functionality requested above.
-
Please publish the app in a functional manner and provide us a working link.
-
You will need to use the following 3rd-party services to make the application work:
- User and data management: Firebase
- Financial instrument data: Alpha Vantage
- Bring search capability to mobile application: Algolia
-
We would be looking for the following with your submission:
- Git committed code of the solution with a guide on how to run the application
- Document detailing your planning, thinking, and development process
- Suitable test cases for all functionality implemented