This repository contains the Busha Assessment App backend. The associated Flutter app consumes the API that this application provides. The backend application was built with NodeJS, NestJS, Typescript and Firebase for authentication and database.
The application is hosted on my account at Google Cloud Platform (GCP) using a Docker container running in a Cloud Run service.
The associated Flutter app can be found here: https://github.com/malengatiger/test_flutter
busha-nest-1 =====> NodeJS Docker container on Cloud Run
![Screenshot 2024-06-01 at 05 25 48](https://private-user-images.githubusercontent.com/343710/335810427-282a53b8-0f83-48e6-96b8-ede34e2b6a8a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1ODEwNDI3LTI4MmE1M2I4LTBmODMtNDhlNi05NmI4LWVkZTM0ZTJiNmE4YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYTUxNDBlODlhOGU1NDEwYWJmZjBlNTliNWVhMzIxZGNjMGMzN2NhNjM3YjU5YjhmOWY1M2Q4YjEwZDFjZDVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.OxYyL4rjiZkZhvKCfrL1wQ5jvjUxF6kUhnnfY4eHND8)
![Screenshot 2024-06-05 at 05 12 08](https://private-user-images.githubusercontent.com/343710/336672694-3a23ec60-23e4-42e2-bbf1-3e22b0325d27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM2NjcyNjk0LTNhMjNlYzYwLTIzZTQtNDJlMi1iYmYxLTNlMjJiMDMyNWQyNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YzZkZWYyMjgxMTIwY2ZkOTM1YTQ2OTFhYTU3MzM3OTZlYTYwZTYxN2NjMTBhMTQ1ZTc3ZTViMjM1MGMyY2RmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.AU7xV84q77SWNTgeiMhG1MYdidEmHHlZpd4KVWXNCMY)
![Screenshot 2024-06-01 at 05 27 53](https://private-user-images.githubusercontent.com/343710/335810399-710c5fb6-5592-4532-90f9-a1962fc34c8b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1ODEwMzk5LTcxMGM1ZmI2LTU1OTItNDUzMi05MGY5LWExOTYyZmMzNGM4Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ZWJlMDE4YjI5MDE2Y2U2Y2QwNmVhNWFmZDM5MDk3YzE5ZGNlZGQ4MWYzZjBjOGI1NTMyODJkNGExZTQ1ZTBlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.jGWM3dqMcpDHf4cj6M2Kzq2FsWfn0UavO9ZVgldtsSg)
![Screenshot 2024-06-03 at 08 00 28](https://private-user-images.githubusercontent.com/343710/335954155-4413caec-12fa-4e73-b528-ad5950ea0dfc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1OTU0MTU1LTQ0MTNjYWVjLTEyZmEtNGU3My1iNTI4LWFkNTk1MGVhMGRmYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNTFkOWFkMWJkMTM0MWVjZjA0NWE1NmJlODljZDExMDM0ZTUzODhkODA1ZDU0YWFlMmU3YzEzMmMzYjk5YWI5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.MjFJyTEBAvfLn6JoyPJcV8JCJgqZdS4QIjnGAoWLBIw)
![Screenshot 2024-06-03 at 08 16 50](https://private-user-images.githubusercontent.com/343710/335957472-8ff77793-3785-4e57-a11e-69d9bc9a5560.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1OTU3NDcyLThmZjc3NzkzLTM3ODUtNGU1Ny1hMTFlLTY5ZDliYzlhNTU2MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNmVmZDI4MjczYTE3ODI0MmJmNTJmOWFhMWViNmY1NThmNTBjMWYzNDcxN2M0NGE1ZWRjOTk3Mzg4ZTAxZWIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.f6HqAex5yfZR7ZWE3daFlw4lZITmmAk2lbUMNMMyuI0)
![Screenshot 2024-06-01 at 05 27 14](https://private-user-images.githubusercontent.com/343710/335810450-fe441d0c-a47a-4415-a292-8ff4e50c3e0c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1ODEwNDUwLWZlNDQxZDBjLWE0N2EtNDQxNS1hMjkyLThmZjRlNTBjM2UwYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMTY3NWY4YTFlOTlhOGVjOTcyZDEyNDQ3ZWU5ZjM3OWFiOTc1MzA4YTUzNjUyNzk0NmNlMmU2NDViODhiODVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.PnxGwW-rrjnFgJWOsF4nbKeQm7OOw7bQkVlF2yP3A7k)
![Screenshot 2024-06-01 at 05 26 34](https://private-user-images.githubusercontent.com/343710/335810482-6cb0c253-ed36-4729-89b3-c80211f1f721.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3OTc5MDIsIm5iZiI6MTcyMzc5NzYwMiwicGF0aCI6Ii8zNDM3MTAvMzM1ODEwNDgyLTZjYjBjMjUzLWVkMzYtNDcyOS04OWIzLWM4MDIxMWYxZjcyMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNlQwODQwMDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMWQzOTAxMDI4Y2Q4NGNkY2FjYmYyNzRmZTYwMmEwOGY4ZTc1YTFjYTFlZmViZjRlY2FlNWYwM2ZjZTYyZDZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5JbgUcsVnEMt_8ATtVsoR9aia1xTwDh5ErGVWtB-ZyQ)