To join the community Real Dev Squad, follow the instructions below and you will get the Discord Invite Link to join the server.
- User Profile Service consists of 3 APIs /health, /profile and /verification
- This is a template for creating your own NodeJs backend code of profile service.
- /health checks whether the server is up and running
- /profile returns data of the user to whom profile Service belong to. It is protected API so that not anyone can take your information.
- /verification API returns a hash based on the special chaincode generated by user at identity service.
- This service is used by Real Dev Squad to connect and help new people come aboard to learn development.
Profile Service is your own service which will be deployed and verified by you with the help of some precreated APIs and contains all the relevant data of yours, used for building your profile and getting yourself a identity in Real Dev Squad. This service will be maintained by you throughout the term of your journey in Real Dev Squad.
Fork the Template Repository from top right corner
Create a new fork, ensure that Owner
is selected as your GitHub username and repository name can be named as :
<YOUR_NAME>'s-profile-service
Example : rohan's-profile-service
Now when you have forked the repository. We will clone the repository in our PC.
Click on Code
button on right just above code
Ensure that HTTPS is selected and copy the link
Now enter following command in terminal to clone repository:
git clone <link you have copied>
Open the cloned repository in VScode or your code editor
Open New Terminal in VSCode and run following command
yarn
or yarn install
This will bring in all the packages and dependencies if any left.
Now we will create a file local to you that contains all your profile data. We will use environment variables so that only you and authorized RDS service can access your data and not anyone who has your deployment link
Add a file in your main folder and name it as .env
Copy following data in your .env file and replace right side values with your real information
FIRST_NAME='first_name'
LAST_NAME='last_name'
EMAIL='email_id'
PHONE='your contact number'
YOE=your years of experience
COMPANY='Your company / University you are in'
DESIGNATION='Current Role'
GITHUB_ID='github_id'
LINKEDIN_ID='linkedin_id'
TWITTER_ID='twitter_id'
INSTAGRAM_ID='instagram_id'
WEBSITE='your portfolio website. Leave empty if not there'
CHAIN_CODE='Your chain code. Will be generated in further steps when deploying'
Add a gitignore file and add .env file in it so it is not tracked and your personal information is never uploaded to Github.
Now we will test if our profile service is working on our local device before deploying
Open Insomnia and select debug in top center of screen
You will see above screen
Now go to VSCode and open your profile service and type following code in new terminal:
yarn run dev
This command will run your service locally
Open Insomnia and enter following link with GET Request
http://localhost:8000/health
Congratulations you have run your first service and tested your first API 🎉🎉
To test other APIs we need to deploy our service and generate chaincode from RDS identity service which is used to verify your profile service
Now we will deploy our service so that it is running on a server and accessible to everyone and is not running only locally on your machine.
Login to your Render account. After logging in go to your dashboard and you will see this interface.
Click on New
and you will see a dropdown having multiple options.
Click on Web Service
Now, you will be directed to a new page where you have to configure your GitHub or Gitlab account so that you can deploy your profile service on Render.
Now select your profile service repository to deploy.
Then click on Connect
.
Now you will seeing your deploy section of the Render app as below.
Now, fill in all the inputs correctly.
Then, select the Free tier as shown below,
Now click on the advanced option below the plans section.
You will find Add Environment Variables
option along with other options. Leave others as default and click on the add environment variables button.
Now you will find a box for Key and one box for Value.
Copy the first key from your .env file into the KEY box
and copy its value(Without apostrophes) in the VALUE box
and click on Add button. For empty values add a space in the VALUE box.
Do Step 7 Repeatedly for all values of .env file but leave chaincode because that will be generated later on.
And you are done with deployment. Now only deployment link which is protected and you have your personal info and cannot even be uploaded by mistake on Github.
Finally, scroll down and you will find a button named Create Web Service
. Click on that button to deploy your code.
🥳 Congratulations, you have successfully deployed your profile service.
Now you will be linking your deployed service with us i.e. RDS.
Go to Real Dev Squad website and click on Sign In With GitHub
button in the navbar as shown below.
Link your GitHub account, and complete the SignUp
steps.
Note : Only for users who don't have an account on Real Dev Squad website or who haven't linked their GitHub account on Real Dev Squad website.
Go to My Site or you can simply click the user greeting as shown below (this is after you have Signed In with your GitHub account)
Once you landed on my-site, you will have to go to Identity Tab (P.S. you can directly click on this hyperlink to get you to the desired page).
You get to see something like the below form
Click on Generate Chaincode
, an alert will appear, click OK
to generate the chaincode.
Click on Copy
to copy the chaincode.
Note : Keep this generated code very safely as you will be able to see it once only.
Now open the .env file in your profile service and paste the copied chaincode in front of the CHAIN_CODE
key.
Also, Update the chaincode in deployment from Dashboard -> click on your deployed service -> Environment -> update the chaincode
as discussed in Step 7 of Deployment.
Now we have completed all the information.
Now, push your code to the remote repository
git add .
git commit -m "<ENTER_YOUR_COMMIT_MESSAGE>"
If your branch name is main
then use this
git push origin main
Otherwise,
git push origin <ENTER_YOUR_BRANCH_NAME>
Now that you have pushed your code with the chaincode. Enter your deployed service URL here.
And click on Save
.
After that Check
the checkbox to ensure that you have done both the steps correctly.
Then, click on Link Chaincode
. Woooh, now wait for few seconds or minutes to get your service verified by the Real Dev Squad service.
Once you are verified you will get to see a verification message that your verification is completed.
Awesome, Congratulations 🥳 🎉 on becoming a user in Real Dev Squad and
**Note : ** If you are unable to verify your service or their are some errors that you get encountered. Please reach out to members of Real Dev Squad from here
- You can run
yarn run test
cmd in local after completing all information and see if any test is failing. If any of the test is failing please re check the information entered by you in .env file. These tests check the functionality of all three APIs.