<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hung Nguyen</title>
    <description>The latest articles on DEV Community by Hung Nguyen (@nguyenhung15913).</description>
    <link>https://dev.to/nguyenhung15913</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F701796%2Fd295020f-6863-4dea-a914-720637fc64ef.png</url>
      <title>DEV Community: Hung Nguyen</title>
      <link>https://dev.to/nguyenhung15913</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nguyenhung15913"/>
    <language>en</language>
    <item>
      <title>Final week</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Sat, 23 Apr 2022 17:11:37 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/final-week-2gji</link>
      <guid>https://dev.to/nguyenhung15913/final-week-2gji</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;It has been a long run for my second journey to Open Source. It is time for the release 3.0 to land. I am happy that finally, we already had a mobile app with posts service, which is the main feature of Telescope. On top of that, student quotes and Telescope's about screen (which is all about Telescope) has been finished with an integration of Supabase. This contains a really hard word of James, Kevan and I. I would like to say thanks to all reviewers who gave us a lot of useful feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Last &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3534"&gt;PR&lt;/a&gt; for this semester
&lt;/h2&gt;

&lt;p&gt;This PR is about styling post component for the post service timeline.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q9FnqoRo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ji98770bw0yu32dbx42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q9FnqoRo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ji98770bw0yu32dbx42.png" alt="Image description" width="397" height="841"&gt;&lt;/a&gt;&lt;br&gt;
A header has been added to each post. Now we can see that they will contain the name of the author, and also the title is now more similar to the original post in Telescope web app. Not only that, if you click on the author's name, the app will redirect to author's blog timeline, where you can find other blogs of that author. Based on some feedback, I still have to fix the text font and padding for the page. &lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;This semester is great, I have more chance to contribute open source community, especially Telescope. Also, I have more chance to work with React Native which is really new to me. Although it is the end of the semester, the app still need to have some improvement, so if I have some times, I will definitely keep working on it.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>First time being a Sheriff</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Tue, 12 Apr 2022 08:43:19 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/first-time-being-a-sheriff-3cn3</link>
      <guid>https://dev.to/nguyenhung15913/first-time-being-a-sheriff-3cn3</guid>
      <description>&lt;h1&gt;
  
  
  What is a Sheriff in Telescope:
&lt;/h1&gt;

&lt;p&gt;Sheriffs will be the one who help and manage the current project. They make sure to keep the team on track and shepherd their code through the review process so that the release of that week can be landed optimally without breaking any tests, CI. Each week, there will be 2 main Sheriffs and if one of the 2 Sheriffs cannot take the duty, a backup Sheriff will take the job. &lt;/p&gt;

&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;This week, I had a chance to be a Sheriff with Tue. This week was a little bit different, we wanted to focus more on completing the current features and fixing current bug for the release 3.0 alpha. This means that we needed to "say no" to some new features or current features that are not important. Instead, we would focus wholly on important features. Here is the list of features from the email of our professor David Humphrey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finish the Parser service (done) and remove the Legacy Backend (not done)&lt;/li&gt;
&lt;li&gt;Finish our monorepo tooling (eslint, tests, pnpm, etc), and fix edge cases we're hitting now (getting closer, but not all done)&lt;/li&gt;
&lt;li&gt;Finish Dockerfile/Image optimizations and use our new Docker Registry for all of our images and deployments (getting close to being done)&lt;/li&gt;
&lt;li&gt;Ship and finish the first version of the Docusaurus docs, including docs on anything that the next set of students will need (not done, but almost)&lt;/li&gt;
&lt;li&gt;Get an Alpha (i.e., usable to read posts) version of the React Native App shipped (not done)&lt;/li&gt;
&lt;li&gt;Fully integrate Supabase into our front-end and back-end in production, and stop using the Wiki Feed List (not done, and this one is critical for 3.0)&lt;/li&gt;
&lt;li&gt;Use our front-end Sign-up flow for adding new users/feeds (not done)&lt;/li&gt;
&lt;li&gt;Finish Search/ES improvements (progress, but not done)&lt;/li&gt;
&lt;li&gt;Finish YouTube/Twitch feed integration (getting close, not done)&lt;/li&gt;
&lt;li&gt;Finish dependency service so that it's usable by the next set of students in the fall for finding bugs to work on (progress, but not done)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Planning and meeting
&lt;/h1&gt;

&lt;p&gt;To make things more easily, me and Tue created a &lt;a href="https://github.com/Seneca-CDOT/telescope/wiki/Triage-Meeting-March-29,-2022-Preparing-for-Release-3.0-alpha"&gt;new page&lt;/a&gt; in GitHub to group the issues into different areas. On Tuesday, I lead the meeting and at that time, I went through every current issues that were listed in our prepared sheet on GitHub. Everyone joined and helped me a lot on explaining the issues and giving me an update of the progress. And on Thursday, Tue helped everyone on reviewing the current PRs, we assigned more people to the PRs that needed to be finished the most and unassigned those who lost the interest to the PRs they had been working on. Everything went really smoothly because everyone did a good job. &lt;/p&gt;

&lt;h1&gt;
  
  
  Progress
&lt;/h1&gt;

&lt;p&gt;Tue and I helped people on reviewing their PRs as well as asking the people in the current issues about their progress. The issue I cared the most was about React Native. I asked everyone to review my &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3320"&gt;PR&lt;/a&gt; about the mobile app footer so that it can be merged immediately, and helped James to complete his &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3346"&gt;PR&lt;/a&gt; about using Supabase to share file between both front-end web app and front-end mobile app. In the mean time, I was working on the &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2857"&gt;loading posts&lt;/a&gt; for mobile app but since this week was overwhelming for me so I could only touch that issue just a little bit. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Planning for release 2.9</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Mon, 21 Mar 2022 19:29:02 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/planning-for-release-29-3ald</link>
      <guid>https://dev.to/nguyenhung15913/planning-for-release-29-3ald</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;This week we will land 2.9 for Telescope and as usual, I will be responsible for Telescope's mobile app using React Native. And in the release 2.9 I will work on the footer for About Screen.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/3203"&gt;Issue-3203&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J6f3a6JB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dqnvd4z9vz2gt8wjeg8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J6f3a6JB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dqnvd4z9vz2gt8wjeg8x.png" alt="Image description" width="441" height="734"&gt;&lt;/a&gt;&lt;br&gt;
A footer need to be added to About Screen like the original Telescope web app. As you can see in the picture above, I have to make the UI as well as integrate with GitHub API to show the contributors of Telescope.&lt;br&gt;
For now I have completed 40% of the footer. Links have been added and the Titles have been styled. The problem is that I am still researching how to use &lt;code&gt;justifyContent: 'center'&lt;/code&gt; here so that a blank space will be created between &lt;code&gt;Docs&lt;/code&gt; and &lt;code&gt;More&lt;/code&gt;. I have tried it but I did not worked. &lt;code&gt;flexWrap&lt;/code&gt; did not work either. I still have 2 days to complete it so everything should be good to have a PR before the release.&lt;/p&gt;

&lt;h1&gt;
  
  
  Planning
&lt;/h1&gt;

&lt;p&gt;After finishing the footer, I will work on the Image service for Home Page as well as help Kevan on Posts service.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Planning for this week</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Tue, 15 Mar 2022 14:14:08 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/planning-for-this-week-5697</link>
      <guid>https://dev.to/nguyenhung15913/planning-for-this-week-5697</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;This week, I mainly focused on finishing React Native home page so that it can be merged as soon as possible. After some small fixes and rebasing, it got merged.&lt;/p&gt;

&lt;h1&gt;
  
  
  Code reviewing
&lt;/h1&gt;

&lt;p&gt;I did a review of James' &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3167"&gt;PR&lt;/a&gt; about making an about screen for mobile app. He did a great job but a small issue was that he needed to changed the color of header Text to be the same as Telescope's original web app.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4BGP5J91--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y2k3cpalsore6ew9uyrv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4BGP5J91--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y2k3cpalsore6ew9uyrv.png" alt="Image description" width="388" height="62"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One more cool thing is that, inside the about page of original Telescope app, there is a footer that needs to be added. So I decided to create a new &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/3203"&gt;issue&lt;/a&gt; about that. Since this week I do not have issue to work on so I assigned it to myself.&lt;/p&gt;

&lt;h1&gt;
  
  
  Adding footer to Mobile app's about screen
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZRV4KZmn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw4y8xcj54wcnjwefwyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZRV4KZmn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw4y8xcj54wcnjwefwyn.png" alt="Image description" width="441" height="734"&gt;&lt;/a&gt;&lt;br&gt;
This week I will mainly focus on creating a footer for React Native app. This will be complicated since there will be an integration with Github API service. Also There are a lot of links that need to be navigated too.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Updating on current works</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Thu, 03 Mar 2022 13:37:51 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/updating-on-current-works-55bg</link>
      <guid>https://dev.to/nguyenhung15913/updating-on-current-works-55bg</guid>
      <description>&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3020"&gt;Mobile home page&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;The PR needs some changes and updates. Firstly, I need to change the file structure of &lt;code&gt;student-quotes&lt;/code&gt;. On this &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3020#discussion_r811227118"&gt;conversation&lt;/a&gt;, we found a good approach by moving the student quotes service to a folder that can be shared by both web application and mobile application. I filed an &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/3081"&gt;issue&lt;/a&gt; about that so that everyone will know, and if they are interested, they can pick it up. Another problem of the current home page is it is lack of image service. This service will randomly display a picture to Telescope Banner component. The issue can be found and picked up &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/3082"&gt;here&lt;/a&gt;.&lt;br&gt;
In order for the PR to get merged. I need to fix the &lt;code&gt;View&lt;/code&gt; of all the screens.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--108-93Vo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/irwwclx723es1km5g3pb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--108-93Vo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/irwwclx723es1km5g3pb.png" alt="Image description" width="618" height="722"&gt;&lt;/a&gt;&lt;br&gt;
As you can see in the picture above, the screen is not positioned properly. The reason behind is that I did not use &lt;code&gt;SafeAreaView&lt;/code&gt;. So what is &lt;code&gt;SafeAreaView&lt;/code&gt;? It is used to avoid your screen to overflow the whole mobile screen. For example, on top of the screen of your phone, there will be a lot of features like time, battery checking, etc. If develop a mobile app without using safe area view, all the components of your mobile app's screen will override the above features. However, it is weird that &lt;code&gt;SafeAreaView&lt;/code&gt; of React Native will not always work. And I got that problem, I used margin top to solve that issue but with different screens, we need different margins. A better approach is using &lt;code&gt;SafeAreaView&lt;/code&gt; of &lt;code&gt;react-native-safe-area-context&lt;/code&gt;. I fixed my PR using it and also rebased the PR. I am waiting for everyone to review and it is going to be merged soon.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2961"&gt;Dashboard contributor card&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;I have been stuck on this one the most. My main problem was finding the wait to test locally. I have worked with the Dashboard page before but it was related to front-end. This issue was from the server side, with Handlebars. During the time I was looking for the solution, &lt;code&gt;staging&lt;/code&gt; did not have this issue anymore. Due to this &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2961#issuecomment-1054827129"&gt;comment&lt;/a&gt;, this is because Github Token was not added. This issue may be closed and reopened if it keeps happening after we add both tokens to &lt;code&gt;staging&lt;/code&gt; and &lt;code&gt;production&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Update for week 6</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Tue, 22 Feb 2022 08:42:20 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/update-for-week-6-3j2i</link>
      <guid>https://dev.to/nguyenhung15913/update-for-week-6-3j2i</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;The release 2.7 landed successfully this week and I am happy to be one of the contributors. Next week we will work on the plan for 2.8 and I picked 2 issues to work on. &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2858"&gt;React Native Home Page&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;As I mentioned in my last blog post, I finished mostly the issues and just need some styling to make the page looks like its original version.&lt;br&gt;
However, it is not easy at that. I had a hard time with styling. I had to re-order some &lt;code&gt;View&lt;/code&gt;, &lt;code&gt;Text&lt;/code&gt; and other elements to give them appropriate styling. Styling in React Native is not nearly the same as CSS styling.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;container: {
   flex: 1,
   justifyContent: 'center',
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means the container will spread out the whole screen if it is the only parent element. And all the child elements will be centered horizontally. &lt;br&gt;
In CSS, I normally use &lt;code&gt;em&lt;/code&gt; or &lt;code&gt;rem&lt;/code&gt; when applying padding or margin. However React Native does not understand that. We have to use specific number like &lt;code&gt;marginTop: 25&lt;/code&gt;&lt;br&gt;
On top of that, it is sometimes annoying that React Native StyleSheet,which a lot of people and I are using, does not have some styling properties like CSS. For example, &lt;code&gt;letterSpacing&lt;/code&gt;. To deal with this issue, I have to research a lot and basically you have to style inside the tag.  So your code will have separate parts of styling:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
  },
  studentQuote: {
    zIndex: 1000,
  },
  studentQuoteText: {
    color: 'white',
    fontSize: 21,
    textAlign: 'center',
    marginTop: 25,
  },
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;View style={styles.container}&amp;gt;
      &amp;lt;Text
        style={{
          zIndex: 1000,
          letterSpacing: 13,
          fontSize: 45,
          fontWeight: '600',
          color: '#A0D1FB',
        }}
      &amp;gt;
        Telescope
      &amp;lt;/Text&amp;gt;
      &amp;lt;Pressable style={styles.studentQuote} onPress={() =&amp;gt; Linking.openURL(studentQuote.url)}&amp;gt;
        &amp;lt;Text style={styles.studentQuoteText}&amp;gt;"{studentQuote.quote}"&amp;lt;/Text&amp;gt;
        &amp;lt;Text style={styles.studentQuoteText}&amp;gt; {studentQuote.author}&amp;lt;/Text&amp;gt;
      &amp;lt;/Pressable&amp;gt;
    &amp;lt;/View&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2961"&gt;Dashboard issue&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;Big challenge for me is that the dashboard has changed a lot since the last time I worked on an issue about it. It is now using Handlebars. In terms of the issue, the contribution cards will not sometimes show the avatar of contributors if there are more than 1 authors. This problem is related to how we render the view of Handlebars. My guess is that we have to make a loop into the numbers of authors to render out all of their name and avatars.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Home page using React Native for Telescope </title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Mon, 14 Feb 2022 22:44:42 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/home-page-using-react-native-for-telescope-48</link>
      <guid>https://dev.to/nguyenhung15913/home-page-using-react-native-for-telescope-48</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;Next is important since there will be the release 2.7 and I still have 2 issues to work on which are creating bottom nav-bar and homepage. For the nav-bar, I have sent a &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2824" rel="noopener noreferrer"&gt;PR&lt;/a&gt;. Everything is almost done but I still have to find an issue that changes the Icon of Telescope while I was in the middle of rebase. This pretty sure will be done before 2.7 landed.&lt;/p&gt;

&lt;h1&gt;
  
  
  Home page
&lt;/h1&gt;

&lt;p&gt;In terms of the home page &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2858" rel="noopener noreferrer"&gt;issue&lt;/a&gt; or in my case named home screen, I started by taking a look at mobile responsiveness of Telescope to gain the idea of the design. Basically, there are a lot of services in the home page ^^, so I think breaking these things into smaller tasks will be much more easier. For now, I will just making a static home screen. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fswgoamq1515vfoswxbol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fswgoamq1515vfoswxbol.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Home screen for now will include a component named Banner. Of course in the future, there will be more like Image service, Posts service, etc. I also created a function named &lt;code&gt;navigateToContact&lt;/code&gt;. As it name, it is used to navigate to contact screen, I will pass this function from the parent to Banner -&amp;gt; BannerButtons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6sef7ksmzwnoah8d8xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6sef7ksmzwnoah8d8xf.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Banner component will simulate the original banner of Telescope so it will have BannerButtons, and Student quotes, here I will call it BannerText.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6e1tuegqwve2hmg10oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6e1tuegqwve2hmg10oi.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
BannerButtons has 2 buttons for navigating to Contact Screen and an option for signing in. The funny thing of React Native is that it is limited to style a &lt;code&gt;Button&lt;/code&gt; component, so I use &lt;code&gt;Pressable&lt;/code&gt; instead. It is something user can press on and if you style it properly, it will be come a button. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk0w1lzg8ek3sa0imfgk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk0w1lzg8ek3sa0imfgk.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
I re-used the &lt;code&gt;useEffect()&lt;/code&gt; that we already had in the front-end of Telescope to randomly display the student quotes in the banner. And again &lt;code&gt;Pressable&lt;/code&gt; is used as a &lt;code&gt;&lt;a href="..."&gt;&lt;/a&gt;&lt;/code&gt; to go to the student's blog link when user clicks on the code.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqpx4f4culdx701qsp6xl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqpx4f4culdx701qsp6xl.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
New file named student-quotes.js was copied from &lt;code&gt;src/web&lt;/code&gt; as well. &lt;/p&gt;

&lt;h1&gt;
  
  
  Result
&lt;/h1&gt;

&lt;p&gt;For now, I have some problem with CSS and the home page is still not styled properly so there is no PR at the moment. It will come out soon this week.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My first PR to Telescope's React Native project</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Mon, 07 Feb 2022 22:01:11 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/my-first-pr-to-telescopes-react-native-project-4bk7</link>
      <guid>https://dev.to/nguyenhung15913/my-first-pr-to-telescopes-react-native-project-4bk7</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;The first thing I have to say is I am very excited right now after submitting PR about adding a basic bottom navigation bar to the current UI. I was assigned to the &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2731"&gt;issue&lt;/a&gt; that will create a basic mobile UI using React Native. I created a private chat in Slack with James and Kevan to discuss what we would add to the UI, and my task was creating a nav-bar based on the original design of Telescope.&lt;/p&gt;

&lt;h1&gt;
  
  
  Progress
&lt;/h1&gt;

&lt;p&gt;I created a new branch first then starting to work on it. I went to Google to research how React Native app could navigate between screens. So React Native uses something called React Navigation. After following the documentation, I created a Navigation container to store the navigation in &lt;code&gt;App.jsx&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oj0pzCym--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzrpexqh7hcget2aikh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oj0pzCym--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gzrpexqh7hcget2aikh0.png" alt="Image description" width="330" height="117"&gt;&lt;/a&gt;&lt;br&gt;
To create a navigation bar, I used &lt;code&gt;@react-navigation/bottom-tabs&lt;/code&gt;. So it will allow you to create a bottom nav-bar to navigate between screens. This means I had to create some basic screens to test.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VIqsd1RT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3trqrb1mz6u7mhxzhsjs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VIqsd1RT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3trqrb1mz6u7mhxzhsjs.png" alt="Image description" width="197" height="115"&gt;&lt;/a&gt;&lt;br&gt;
Using Navigator can help you to navigate between screen components, &lt;code&gt;tabBarIcon&lt;/code&gt; option will allow you to add Image or Icon to the screen component.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y9LQnS6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/faenwakleys0mg3vreg7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y9LQnS6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/faenwakleys0mg3vreg7.png" alt="Image description" width="614" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Issues
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Lots of libraries installed&lt;/li&gt;
&lt;li&gt;Installing Android Studio to get it's virtual machine to test (Android emulator). And an Android Emulator is usually around 10GB&lt;/li&gt;
&lt;li&gt;I am using Windows so for now I cannot test the app on IOS. But React Native is using for cross platform purpose so I guess it should be ok&lt;/li&gt;
&lt;li&gt;I have to re-order some files to match the files structure of Telescope&lt;/li&gt;
&lt;li&gt;My PR has a conflict with James' &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2825"&gt;PR&lt;/a&gt;, so after my PR gets approved by everyone, I will have to ask James how I can fix this conflict before merging to master.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Preparing for Telescope 2.6</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Sun, 06 Feb 2022 19:57:07 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/preparing-for-telescope-26-3745</link>
      <guid>https://dev.to/nguyenhung15913/preparing-for-telescope-26-3745</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;This week's is very challenging for me. &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2676"&gt;#2676&lt;/a&gt; is about including the option for user to add their Youtube channels in the Sign Up flow. &lt;/p&gt;

&lt;h1&gt;
  
  
  Challenge
&lt;/h1&gt;

&lt;p&gt;Firstly, I need to understand the sign up flow. I did talk to Duke and he knew how to fix it. It was because of a function that caused an endless loop. In the mean time, we planed to move to Supabase which is completely new to the project so for now I will have to wait for that to be merged first because it is related to the Sign Up. This means I can have some times to review and understand the code.&lt;br&gt;
So far, I have applied the fix of Duke to the sign up button. The form is inside &lt;code&gt;\telescope\src\web\src\components\SignUp\Forms\RSSFeeds.tsx&lt;/code&gt;. My guess is to duplicate the  and change the variable name:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hSNzJvwg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/md6bxx66hvtltert7fas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hSNzJvwg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/md6bxx66hvtltert7fas.png" alt="Image description" width="795" height="267"&gt;&lt;/a&gt;&lt;br&gt;
This means I have to include one more object in the FormModel:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OWgaCQTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/enm5o9gh5ghzgm37vzfi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OWgaCQTi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/enm5o9gh5ghzgm37vzfi.png" alt="Image description" width="495" height="77"&gt;&lt;/a&gt;&lt;br&gt;
My problem for now is to understand the validateBlog() function since it seems like this function will call a service to validate and input the blog feed to the site. And I guess I have to do the same to the Youtube UI.&lt;/p&gt;

&lt;h1&gt;
  
  
  React Native first implementation
&lt;/h1&gt;

&lt;p&gt;In the meeting, we talked about the React Native in Telescope, and Mengi has started to do his research on how to start the project through &lt;code&gt;pnpm&lt;/code&gt;, so soon I will pick up or file some issues about React Native. I am really excited about that, I have worked with React Native once, it was fun to play with. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Contributing to Telescope 2.5</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Sun, 23 Jan 2022 18:21:42 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/contributing-to-telescope-25-9m5</link>
      <guid>https://dev.to/nguyenhung15913/contributing-to-telescope-25-9m5</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;This week, we are planning to release Telescope 2.5, everyone has their own PRs to deal with. My &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2622"&gt;issue&lt;/a&gt; was modifying the build log page in the dashboard to a better UI which is more understandable for users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress
&lt;/h2&gt;

&lt;p&gt;My first mistake that took me hours to tackle was not rebasing the newest &lt;code&gt;master&lt;/code&gt; branch. My old version did not have the header in the build log so I was lost. After talking to the Telescope group in slack, the problem was solved. My professor also gave me the &lt;code&gt;status&lt;/code&gt; links to test locally, this made everything way more easier.&lt;br&gt;
In &lt;code&gt;build-log/api.js&lt;/code&gt;, I added a new condition to the &lt;code&gt;checkBuildStatus&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (!data.current &amp;amp;&amp;amp; data.previous) {
      return {
        building: true,
        previous: true,
        title: data.type,
        githubData: data.previous.githubData,
        startedAt: new Date(data.previous.startedDate),
        stoppedAt: new Date(),
        result: data.code,
      };
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the &lt;code&gt;status&lt;/code&gt; returns previous data and there is no current data, &lt;code&gt;checkBuildStatus&lt;/code&gt; will return the previous data instead of &lt;code&gt;building: false&lt;/code&gt;.&lt;br&gt;
I also had to modify &lt;code&gt;views/builds.hbs&lt;/code&gt; to create a new title if there is a previous build. This means, in &lt;code&gt;build-log/build-header.js&lt;/code&gt;, I had to add on another if condition to create a message for the previous build&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (previous) {
    buildPrevious.innerText = 'Previous Build';
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After all, my code worked and I submitted the &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2669"&gt;PR&lt;/a&gt;. My PR got reviewed by my professor, some other open source students and the Sheriff. Everything was good and I just needed to rebase and merge it to the master branch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;p&gt;A have small discussion about React Native. The idea was creating the mobile version of Telescope using React Native. I have worked with React Native once and I loved it. If someone is willing to lead the React Native project in Telescope, I will definitely join his/her team. &lt;/p&gt;

&lt;h2&gt;
  
  
  Plan for next week
&lt;/h2&gt;

&lt;p&gt;I have 2 issues for next week:&lt;br&gt;
&lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2676"&gt;https://github.com/Seneca-CDOT/telescope/issues/2676&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2296"&gt;https://github.com/Seneca-CDOT/telescope/issues/2296&lt;/a&gt;&lt;br&gt;
They are related to the sign up component that has been turned off. I need to talk to Duke for more details but at the moment, I need to finish my other assignments since they will be due this week so I will take a look at both issues next week.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Another journey to open-source world</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Sat, 15 Jan 2022 22:04:53 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/another-journey-to-open-source-world-22nl</link>
      <guid>https://dev.to/nguyenhung15913/another-journey-to-open-source-world-22nl</guid>
      <description>&lt;h1&gt;
  
  
  OSD700
&lt;/h1&gt;

&lt;p&gt;That is the name of the course that I am taking this semester. It will mainly focus on open-source just like OSD600, but I will need to put more effort on contributing to projects. Also, OSD700 will focus on Telescope a lot. For those who do not know about Telescope, it is an open source web server and client application that show a timeline of Seneca's open source blogs. It is a combination of different features from front-end to back-end so everyone can choose their own areas of interest to contribute to.&lt;/p&gt;

&lt;h1&gt;
  
  
  My Goal
&lt;/h1&gt;

&lt;p&gt;My first goal is to understand Telescope in more depth, especially the front-end. Telescope has React which is the JavaScript framework that I like the most. Moreover, TypeScript is something that I would love to learn. Docker is popular at the moment and many companies use it to ship their projects. And luckily, Telescope is also using Docker to run its services. This is a good chance for me to understand it in more detail. For now, all I did was installing it in my PC to run Telescope services. Last but not least, this is project of a community, so most of the time, you have to read and understand the code of other developers. This is awesome since it can be a good example of working at a company, on a software that has been developing by many developers. It is quite a bit challenging but I feel excited and ready.&lt;/p&gt;

&lt;h1&gt;
  
  
  Progress
&lt;/h1&gt;

&lt;p&gt;So far I have picked an &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2622"&gt;issue&lt;/a&gt; in Telescope. If there is no current build, it will display an error message to the browser and it is not a good practice. My job is to show the previous build instead so the terminal will not be empty and the error message should be gone or replaced with a better UI. At the moment, I already had everything set up  for Telescope, but I am still finding the way to understand the build log in local. It would be hard to test since I need to put some code for the build log to run. Not only that, I have still not found the &lt;code&gt;/status&lt;/code&gt; which was the route to show &lt;code&gt;current&lt;/code&gt; ,&lt;code&gt;previous&lt;/code&gt;, and &lt;code&gt;processing&lt;/code&gt; build logs. The code said it was at port &lt;code&gt;4000/status&lt;/code&gt; but when I ran everything locally, port &lt;code&gt;4000&lt;/code&gt; was not found and with the Docker service, it was related to Firebase instead.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Release 0.4: Final step</title>
      <dc:creator>Hung Nguyen</dc:creator>
      <pubDate>Mon, 13 Dec 2021 12:20:57 +0000</pubDate>
      <link>https://dev.to/nguyenhung15913/release-04-final-step-3o91</link>
      <guid>https://dev.to/nguyenhung15913/release-04-final-step-3o91</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;As I mentioned in my last blog post, I finished the Telescope's issue and my PR got accepted. So I spend this week only for the second &lt;a href="https://github.com/VishalIITP/CodepeakSuperDuper/issues/13"&gt;issue&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Issue
&lt;/h1&gt;

&lt;p&gt;I had a hard time finding the design for the leaderboard. There were so many templates and also the design should match the whole website in general, especially the background of the site. This is the current temporary leaderboard they have:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MJYiR33E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u85wrg4439xibjtdim93.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MJYiR33E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u85wrg4439xibjtdim93.png" alt="Image description" width="880" height="447"&gt;&lt;/a&gt;&lt;br&gt;
After hours, I came up with a few designs but this one like the most.&lt;br&gt;
 &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7S0fHoz4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j98qhfmquzoe1x75azod.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7S0fHoz4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j98qhfmquzoe1x75azod.png" alt="Image description" width="880" height="683"&gt;&lt;/a&gt;&lt;br&gt;
I send the design to Discord but none of the owners replied to me to I just started working on the leaderboard page.&lt;br&gt;
Their project was a ReactJs project so setting everything up for me was not hard. However, there were like thousands lines of code and the way they write their code was confusing to me. My solution was just finding the right components for the leaderboard and where it was located so that I did not get distracted by something else. Luckily, after 15-30 minutes, I found that, but I had to write a bunch of &lt;code&gt;console.log&lt;/code&gt; to know where the component was.&lt;/p&gt;

&lt;h1&gt;
  
  
  Progress
&lt;/h1&gt;

&lt;p&gt;I started by creating a new branch. First thing I did was keeping the elements inside the JS file intact. I only added the &lt;code&gt;className&lt;/code&gt; so that I could access it from the &lt;code&gt;.css&lt;/code&gt; file. To know if my class were already applied to the elements, I added some &lt;code&gt;background-color&lt;/code&gt;. After that, I spend some times to understand the React code and how they displayed the data to front-end. Another issue that just came to me. There were the gaps between the &lt;code&gt;tr&lt;/code&gt; elements from the design:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7S0fHoz4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j98qhfmquzoe1x75azod.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7S0fHoz4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j98qhfmquzoe1x75azod.png" alt="Image description" width="880" height="683"&gt;&lt;/a&gt;&lt;br&gt;
I thought I just needed to add the &lt;code&gt;margin&lt;/code&gt; to it. But it was not that easy, adding margin did work. I was really surprised and started to do some research about table element. The solution was separating the elements and adding the spacing for it:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O7_z8jUF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eykq13uvl2p6xb9j0yz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O7_z8jUF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eykq13uvl2p6xb9j0yz.png" alt="Image description" width="368" height="177"&gt;&lt;/a&gt;&lt;br&gt;
To match the design, I needed to add background for each row:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wti_L0r9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l2htndow68o7pe0zidb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wti_L0r9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l2htndow68o7pe0zidb.png" alt="Image description" width="583" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reason I named my class like &lt;code&gt;color0&lt;/code&gt;, &lt;code&gt;color1&lt;/code&gt; was utilizing the &lt;code&gt;index&lt;/code&gt; parameter from the &lt;code&gt;map&lt;/code&gt; function:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RYLHBbLK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zpdn8pj9ty2xutalhwig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RYLHBbLK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zpdn8pj9ty2xutalhwig.png" alt="Image description" width="880" height="234"&gt;&lt;/a&gt;&lt;br&gt;
Also, we cannot add the &lt;code&gt;border-radius&lt;/code&gt; for &lt;code&gt;tr&lt;/code&gt; so I needed to add this feature to &lt;code&gt;td&lt;/code&gt; instead:&lt;br&gt;
 tr td:first-child {&lt;br&gt;
    border-top-left-radius: 10px;&lt;br&gt;
    border-bottom-left-radius: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;tr td:last-child {&lt;br&gt;
    border-top-right-radius: 10px;&lt;br&gt;
    border-bottom-right-radius: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;tr th:first-child {&lt;br&gt;
    border-top-left-radius: 10px;&lt;br&gt;
    border-bottom-left-radius: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;tr th:last-child {&lt;br&gt;
    border-top-right-radius: 10px;&lt;br&gt;
    border-bottom-right-radius: 10px;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;I also had to remove some old CSS styling of the owner.  And this is the final result:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A7Hdr7JU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7xfkimsep0pzmw2zzfl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A7Hdr7JU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7xfkimsep0pzmw2zzfl.png" alt="Image description" width="870" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will see I modify the &lt;code&gt;Go to Page: 1&lt;/code&gt; so it would be neat and more beautiful. Also I added a yellow cup (from material-ui) for the top player. This will make my design more interesting.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ow4rl0XN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvuq5hk44wa0gx1u3d7j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ow4rl0XN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvuq5hk44wa0gx1u3d7j.png" alt="Image description" width="821" height="628"&gt;&lt;/a&gt;&lt;br&gt;
(Note that, only the &lt;code&gt;cell&lt;/code&gt; that has value === 1 will have the cup icon)&lt;/p&gt;

&lt;h1&gt;
  
  
  Pull request
&lt;/h1&gt;

&lt;p&gt;After that, I submitted a &lt;a href="https://github.com/VishalIITP/CodepeakSuperDuper/pull/21"&gt;PR&lt;/a&gt;. It did not go smoothly because there were some request changes from the owner. He would like me to modify the colors and there was a bug related to displaying:&lt;br&gt;
&lt;a href="https://user-images.githubusercontent.com/72855990/145670180-16c00799-f1b7-4c01-9542-d1811b355cd9.png"&gt;https://user-images.githubusercontent.com/72855990/145670180-16c00799-f1b7-4c01-9542-d1811b355cd9.png&lt;/a&gt;&lt;br&gt;
(If more than 5 players are displayed, the rest will be transparent)&lt;br&gt;
At the moment, I am still working on the changes to my PR and I am pretty sure that everything will be good because I know how to handle this problem.&lt;/p&gt;

&lt;h1&gt;
  
  
  Last thought
&lt;/h1&gt;

&lt;p&gt;This final release was very useful, I have learnt a lot of things from understanding a completely new style of writing React code. Also, I learnt new feature of table elements in CSS, and this will be great for me in my future project that would use table.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
