Node.js backend for an existing react frontend

Job ID: 31852551

Budget: $750 – $1,500 USD

I already have a backend in Java Spring Boot, which I want to rework in node.js. There's around 28 endpoints - 8 auth, 1 stream video (from AWS), search endpoint and others are simply REST. Details:

- 8 Authentication endpoints - login, register and logout for normal user and same for marketing (6), and login and logout for admin. There are 3 roles - admin, marketing and user
- Search endpoint to fetch game information for various games. This one is the most complex one(has the most complex query) because each game has tags, likes and filters.
- User can call search endpoint when not authenticated and the endpoint will return a different result
Almost all other endpoints are REST.

I prefer the relational database – postgres or mysql.

I can share the Spring boot project for you or I can write down the Entity relations for you, if you're unfamiliar with Java.

Authentication should be done using JWT.

Support for Google Login should also be added.

While user is in using the site anonymously, he will collect data in the local storage. The data is simple key-value mappings, each is one entry in the database. When logging in, he will send the data in the body of the same request, so it's synced to the database if the login is successful.

Code should use promises / async/await. I prefer express.js.

Please answer when applying:
- Framework you're planning to use
- Are you familiar with handling JWT authentication and implementing Google Login

App will be hosted on heroku. I got the test data in JSON which we'll import into the database when the app starts.
Related categories: JavaScript SQL Node.js Express JS PostgreSQL