# How To

Quick guide on how to get started with common Frontend and Backend framework

## Prerequisites

* [VS Code](https://code.visualstudio.com/)
* [IntelliJ IDEA Community](https://www.jetbrains.com/idea/download/#section=windows)
* [nodeJS 12.x](https://nodejs.org/en/download/releases/)
* [JDK 8](https://adoptopenjdk.net/) - For Spring Boot only
* [Postman](https://www.postman.com/)

## Recommended plugins

* VS Code
  * Live Server
  * 
* IntelliJ IDEA
  * Lombok
  * Free MyBatis plugin
  * Request Mapper
  * Kotlin

## Framework

* Backend
  * [expressJS](./backend/expressJS/README.md)
  * [springboot](./backend/springboot/README.md)
* Frontend
  * [reactJS](./frontend/reactJS/README.md)
  * [vueJS](./frontend/vueJS/README.md)
  * [nextJS](./frontend/nextJS/README.md)
* mobile (cross platform)
  * [Flutter](./mobile/flutter/README.md)
    * Dart
      * similarity to Java / C# syntax
      * null safety
      * widget block build concept. (Feel like lego block building)
    * Created By Google
  * [React Native](https://reactnative.dev/)
    * Javascript
    * Created By Facebook

[Comparison Flutter-ReactNative](https://nix-united.com/blog/flutter-vs-react-native/#:~:text=React%20Native%20is%20a%20mobile,%2C%20Mac%2C%20and%20Web%20application)

## Razer Pay UAT

* [Setup for UAT app](./uat/README.md)

## Mock API Server using Postman

* [Instructions](./postman/README.md)

## Docker

* Build docker [image](./docker/README.md)

## Angular

* [Angular](./angular/README.md) Quick Start



```sql
mysql> CREATE USER 'razerpay'@'%' IDENTIFIED BY 'razerpay-singapore';
mysql> GRANT All PRIVILEGES ON *.* TO 'razerpay'@'%';
mysql> FLUSH PRIVILEGES;

mysql> SHOW GRANTS FOR 'razerpay'@'%';
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'razerpay'@'%';
mysql> DROP USER 'razerpay'@'%';

// apply this for mysql-8 if encountered PublicKeyRetrieval error
mysql> ALTER USER 'razerpay'@'%' IDENTIFIED WITH mysql_native_password BY 'razerpay-singapore';
```

## Misc

- Tunnel localhost server
  - [ngrok](https://ngrok.com/)

