<?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>Forem: GitHub Campus Experts</title>
    <description>The latest articles on Forem by GitHub Campus Experts (@gh-campus-experts).</description>
    <link>https://forem.com/gh-campus-experts</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%2Forganization%2Fprofile_image%2F2260%2F65bee150-aada-4390-852b-b4e450aec75b.png</url>
      <title>Forem: GitHub Campus Experts</title>
      <link>https://forem.com/gh-campus-experts</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gh-campus-experts"/>
    <language>en</language>
    <item>
      <title>Beyond the Classroom: Inspiring Careers in Open Source</title>
      <dc:creator>Salim Ọlánrewájú Oyinlọlá</dc:creator>
      <pubDate>Sat, 07 Dec 2024 00:00:25 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/beyond-the-classroom-inspiring-careers-in-open-source-56ld</link>
      <guid>https://forem.com/gh-campus-experts/beyond-the-classroom-inspiring-careers-in-open-source-56ld</guid>
      <description>&lt;p&gt;Hi, I’m &lt;a href="https://githubcampus.expert/salimcodes/" rel="noopener noreferrer"&gt;Salim Oyinlola&lt;/a&gt;, a GitHub Campus Expert studying at the University of Lagos in Nigeria. As a Campus Expert, my role is to support and enrich the tech communities around me, and I’ve had the privilege of working closely with GitHub Education to make that happen. Over time, I’ve come to realize how powerful communities can be in shaping our careers—and how often students like myself don’t get to see the many paths to a career in tech available to us.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Ffhy88e6epbf93zlr1mgb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffhy88e6epbf93zlr1mgb.jpg" alt="A picture of Salim Oyinlola on the intro of the Beyond the Classroom: Open Source Stories documentary" width="800" height="1061"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A picture of Salim Oyinlola on the intro of the Beyond the Classroom: Open Source Stories documentary&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In my local tech community, I’ve observed that students believe there’s a single, defined route to success in tech: learn the basics via the platforms on the  &lt;a href="https://gh.io/opensourcestories24" rel="noopener noreferrer"&gt;GitHub Student Developer Pack&lt;/a&gt;, do the same for Data Structures and Algorithms, grind LeetCode, host HackerRank practice marathons with friends, and nail those mock interviews to land an internship. Many see this as the ultimate pathway, but I’ve come to understand there’s another rewarding route that also works well: open source.&lt;/p&gt;

&lt;p&gt;While internships are widely recognized as the gold standard of practical experience, I believe there’s equally as much to gain—sometimes more—from getting involved in open source projects. Internships teach you about teamwork, what it’s like to be part of a larger tech stack, and introduce you to real-world working dynamics. Open source, however, offers a different kind of learning where you’re gaining these same teamwork skills but on a global scale, coding and collaborating with people from across the world. It’s where you learn not only to code but also to connect, bridging time zones, backgrounds, and skill levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Challenges of Building a Career in Open Source in Nigeria
&lt;/h3&gt;

&lt;p&gt;Building a career in open source isn’t easy, especially here in Nigeria. Students face challenges like scarce mentorship opportunities, and low awareness about what open source even is. But despite these challenges, I’ve seen many Nigerian students dive into open source, driven by community, curiosity, and the chance to contribute to projects that impact people worldwide. I found eight students whose journey shows that open-source involvement can be both a stepping stone and a fulfilling pursuit, even with limited resources. And so, &lt;a href="https://youtube.com/playlist?list=PLmbXeEhgz7-7JZmnY8NmjXU31Q7BjbpzE&amp;amp;si=HxdgT7pOkgl4_VJu" rel="noopener noreferrer"&gt;Beyond the Classroom: Open Source Stories&lt;/a&gt; was born.&lt;/p&gt;

&lt;h3&gt;
  
  
  Beyond the Classroom: Open Source Stories
&lt;/h3&gt;

&lt;p&gt;This four-episode documentary series, released in October 2024 for HacktoberFest, shines a light on Nigerian students who have crafted tech careers outside of traditional classroom paths by immersing themselves in open source. The series features eight students from universities across Nigeria, each sharing how open source has opened doors to incredible opportunities and changed their career paths.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fu4okngas9c0i9dxz00zv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fu4okngas9c0i9dxz00zv.jpg" alt="A compilation of the eight Nigerian students who told their stories." width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A compilation of the eight Nigerian students who told their stories.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Each episode explores a different stage in the open-source journey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://youtu.be/3KoAHUrUHkI?si=dTui6LOg96s6BH8e" rel="noopener noreferrer"&gt;Episode One: Hello World&lt;/a&gt; – Here, each student talks about their first encounter with open source. They share what it means to them, their initial impressions, and the steps they took to make their first contributions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://youtu.be/aGYPI3LSnAQ?si=hfDrrCEN5CYvHrTL" rel="noopener noreferrer"&gt;Episode Two: Blooming Where You’re Planted&lt;/a&gt; – In this episode, the students discuss how they carved out a place for themselves within the open-source ecosystem. They share the obstacles, learning curves, and moments of self-discovery that helped them find their unique paths.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://youtu.be/ME29dEfO2lI?si=ktZ0K-5ul6uxHLaA" rel="noopener noreferrer"&gt;Episode Three: Money Makes the World Go Round&lt;/a&gt; – Financial realities come into play as the students reveal how they monetized their open-source passions, from Google Summer of Code (GSoC) to the MLH Fellowship and the Outreachy Internship. They explain how they balanced passion projects with financial needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://youtu.be/xWVm3jTJQT4?si=yiAbIcZtmGFAvjZL" rel="noopener noreferrer"&gt;Episode Four: It Takes a Village&lt;/a&gt; – This final episode delves into the motivations beyond money that keep these students in open source. They open up about the friendships, connections, and personal satisfaction they’ve gained from their contributions, proving that open source is as much about community as it is about code.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the documentary, a recurring theme is the importance of the GitHub Student Developer Pack, which has been a crucial resource for all these students. They each share their favorite tools in the pack, highlighting how these resources have fueled their journeys.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Power of Storytelling
&lt;/h3&gt;

&lt;p&gt;If there’s one other thing I’m passionate about, it’s storytelling. I believe in the power of great storytelling, and I’m convinced that stories resonate far more with listeners/viewers than advice alone. This documentary series isn’t just about offering advice—it’s about telling real stories from real people. When we tell stories, especially drawn from our own experiences, we’re inviting people into a world where they can learn through the lens of another person’s lived experience. While advice tends to tell people what they should do, stories show them what’s possible, what has worked or failed, and why. For me, this approach makes stories not only relatable but impactful, because they allow listeners to draw their own conclusions, spark curiosity, empathy, and self-reflection.&lt;/p&gt;

&lt;p&gt;Stories also create a deeper sense of connection that pure advice can’t. Through stories, abstract advice becomes personal and real, making the experience far more memorable. And in my view, when a story is told well, it leaves room for the listener to take away a unique lesson that resonates on a personal level.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Role of Community Partnerships
&lt;/h3&gt;

&lt;p&gt;To ensure that Beyond the Classroom reached a broad audience, I knew community partnerships would be essential. Partnering with &lt;a href="https://blog.oscafrica.org/osca-x-beyond-the-classroom-open-source-stories" rel="noopener noreferrer"&gt;Open Source Community Africa (OSCA)&lt;/a&gt; and &lt;a href="https://x.com/chaoss_africa/status/1842168055243186299/photo/1" rel="noopener noreferrer"&gt;CHAOSS Africa&lt;/a&gt; helped bring the series to life. These partnerships allowed us to leverage their networks to attract a diverse and engaged viewership, expanding our reach and impact in the open-source community.  Most importantly, the support the documentary received from GitHub Education through the Campus Experts program was instrumental in making this series possible, providing resources and a platform to connect with a broader audience dedicated to open-source collaboration and learning.&lt;/p&gt;

&lt;p&gt;Through &lt;em&gt;Beyond the Classroom&lt;/em&gt;, I hope to inspire students to see open source as a powerful avenue for career growth and personal fulfillment. This project has shown me how storytelling can inspire others, how open source can empower, and how community partnerships can amplify our voices. For students across Nigeria, this documentary is proof that there are meaningful paths outside the classroom—paths built on passion, collaboration, and a love for learning.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>storytelling</category>
      <category>githubeducation</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Campus Experts Applications: July 2025!</title>
      <dc:creator>Pj Metz</dc:creator>
      <pubDate>Fri, 26 Jul 2024 23:34:01 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/campus-experts-applications-august-2024-46pl</link>
      <guid>https://forem.com/gh-campus-experts/campus-experts-applications-august-2024-46pl</guid>
      <description>&lt;h2&gt;
  
  
  Campus Experts Applications open at 9 PM, PT, June 30, 2025
&lt;/h2&gt;

&lt;p&gt;GitHub Campus Experts are student leaders that strive to build diverse and inclusive student communities.These communities are centered around bridging the gap between classrooms and industry by emphasizing the skills necessary for success in software development careers. GitHub Campus Experts can be found across the globe leading in-person and online conferences, meetups, hackathons, and maintaining open-source projects. These students come from a wide range of backgrounds, but all have one thing in common: &lt;a href="https://youtu.be/oueFq3P3ZJY" rel="noopener noreferrer"&gt;they are deeply passionate about technology and the people in it.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And we’re looking for a few more.  &lt;/p&gt;

&lt;p&gt;In the 8 years since its inception, the program has supported more than 500 students in building technical communities around the world. As local leaders, Campus Experts know the challenges students face at their school. They work closely with their peers to close the gap between industry and academia by creating new opportunities for students to learn industry-valued skills. What’s more, being part of the program provides students with valuable resources and training to ensure that they have everything they need to face their challenges, achieve their goals, and better serve their community.&lt;/p&gt;

&lt;p&gt;This is why every application cycle we receive thousands upon thousands of applications to the program. We keep the number of experts low in order to be able to better serve their needs as they serve the needs of their communities. Therefore, it necessitates that we are careful about how many are admitted to the program each year. &lt;strong&gt;Of the 5000 plus applications we received in 2024, only 50 were selected to begin training as Campus Experts. We anticipate around 50 Campus Experts in the July 2025 class out of thousands of applicants.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A note about what we are not: &lt;strong&gt;GitHub Campus Experts are not brand ambassadors.&lt;/strong&gt; You need not be a Git expert or even a computer science major. Campus Experts are passionate about one thing: expanding the industry specific knowledge of their peers by being the conduit through which they learn new technologies and best practices. &lt;/p&gt;

&lt;h2&gt;
  
  
  What makes a great Campus Expert?
&lt;/h2&gt;

&lt;p&gt;A great Campus Expert means you’re a university student who loves tech events: hackathons, webinars, live coding sessions, workshops, and more. &lt;strong&gt;You love to share any knowledge you have with others and love teaching and helping others achieve their goals.&lt;/strong&gt; Your favorite way to work is on a team, building something bigger than any one person can do on their own, a student who is community focused and driven to expand the opportunities available to everyone on their campus. You are an advocate for your peers and colleagues and seek to bring multiple perspectives and backgrounds into tech by encouraging diversity and inclusion both in and out of your community. &lt;/p&gt;

&lt;h3&gt;
  
  
  Criteria
&lt;/h3&gt;

&lt;p&gt;To apply, you must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have the GitHub Student Developer Pack.&lt;/li&gt;
&lt;li&gt;Be 18 years of age or older.&lt;/li&gt;
&lt;li&gt;Be enrolled in a formal higher education institution.&lt;/li&gt;
&lt;li&gt;Have at least one full year left before graduating.&lt;/li&gt;
&lt;li&gt;Have had a GitHub account for at least six months.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What We Want to Learn About You
&lt;/h2&gt;

&lt;p&gt;The first thing we want to do is get to know our applicants better, the questions we ask seek to learn more about your:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Motivation. What makes you tick? What drives you? Why do you do what you do?&lt;/li&gt;
&lt;li&gt;Interest. Why do you want to be part of the program? What is your goal in applying?&lt;/li&gt;
&lt;li&gt;Growth and potential. What kind of skills do you want to learn, and how will they help you grow personally and professionally?&lt;/li&gt;
&lt;li&gt;Contribution. What kind of an impact have you made/do you want to make on your campus for your peers and community?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How the Application Process Works
&lt;/h2&gt;

&lt;p&gt;The application process consists of two sections: &lt;a href="https://education.github.com/campus_experts" rel="noopener noreferrer"&gt;an application form&lt;/a&gt; and then a video resume. You’ll have a full month to submit the form(Applications close at 09:00:00 pm Pacific Time on July 31, 2025). Once applications to the program close, the GitHub Education team will review all the applications that came in. This review period can take as long as a month. If the team would like to move forward with you, we’ll reach out with instructions about how to submit your video resume. You will then have two weeks to submit the video portion of the application. After we review the videos, which can take up to 3 weeks, we will notify all video applicants of their status in the program: either acceptance or declination.&lt;/p&gt;

&lt;h3&gt;
  
  
  Form Application
&lt;/h3&gt;

&lt;p&gt;In the form, we’re looking for students to tell us about the challenges their student community faces, what opportunities they want to build for their peers, as well as the potential they see for growth. These questions are designed to be answered completely and thoroughly. Make sure you have written just enough to convey your point to the reader. Not too short, not too long; answer enough to fully explain without over-explaining. &lt;/p&gt;

&lt;p&gt;In February 2024 (and again in August 2024), many applications we saw were clearly written by generative AI. We want to make sure that we make it abundantly clear that we want to learn about YOU and your voice in these applications, not an LLM’s voice. This means that Chat GPT and other generative AI should not be answering these questions for you.** We do not ever move through with those applications that used AI to create their answer. Yes, it’s OFTEN very obvious.**&lt;/p&gt;

&lt;p&gt;We know many of you want to have the best possible application, and that you might be worried about grammar mistakes and thus use AI to help you overcome that. There are many tools that can help you with spelling, tone, and other grammar considerations without totally writing an answer for you. Asking AI to check your grammar on a response you wrote yourself is very different from giving generative AI the application questions and having the AI give an answer (as we saw happen countless times in last year's applications). The answers AI gives are generic and you are a unique individual! So use your own voice and be sure to fill out these questions with your answers, not an AI model’s answers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Video Application
&lt;/h3&gt;

&lt;p&gt;In the video resume, we’re hoping to get to know you better as a person, including your motivations and interests. Questions to answer will be sent along to all applicants who make it to the second round. It doesn’t have to be high production value - a video using your webcam and computer microphone is more than enough! However, we recommend putting some effort into the content of the video and how you answer the question. We understand this process might not be accessible for all students. If you require an alternative method to make your submission, you can reach out to the GitHub Education team, and we’ll arrange some help.&lt;/p&gt;

&lt;p&gt;After your video has been submitted, we’ll take up to 3 weeks to review them. If the program is the right fit for you, you’ll be accepted and receive an invitation to go through the GitHub Campus Experts Training and on the road to becoming an official Campus Expert!&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://education.github.com/discount_requests/application" rel="noopener noreferrer"&gt;Join GitHub Education&lt;/a&gt; and subscribe to our education newsletter to stay up to date with all the latest GitHub Education news. &lt;/p&gt;

&lt;p&gt;Are you ready to apply? Make sure you’re ready by getting the GitHub Student Developer Pack and subscribing for program updates. We look forward to hearing from you when applications open.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://education.github.com/campus_experts" rel="noopener noreferrer"&gt;Apply Here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>student</category>
      <category>campusexperts</category>
    </item>
    <item>
      <title>Pj's First Field Day: A Campus Experts Adventure</title>
      <dc:creator>Pj Metz</dc:creator>
      <pubDate>Tue, 07 May 2024 23:55:23 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/pjs-first-field-day-a-campus-experts-adventure-2nfo</link>
      <guid>https://forem.com/gh-campus-experts/pjs-first-field-day-a-campus-experts-adventure-2nfo</guid>
      <description>&lt;p&gt;I’m sitting in my hotel room after leaving an after party at Dave and Busters and I’m a little out of it. I feel like the last thing I remember is going up an elevator at the Microsoft office in Times Square to get to our event. Next thing I know, I'm in my hotel room 10 hours later, tired and inspired. I remember some flashes of laughter - deep discussions about AI and internships, Diversity in tech and organizing your first hackathon. Lots of discussion and noise, the kind that isn't abrasive but exciting — the noise of collaboration and community. Looking back, it all rushed by so quickly that I can barely recall it all. &lt;/p&gt;

&lt;p&gt;That was Field Day? &lt;/p&gt;

&lt;p&gt;Oh yeah, THAT was Field Day. And I can't believe I get to be part of this community, let alone find a way to help it's already amazing members grow and learn together.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77xuy4bykdzc1dxi3zhx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77xuy4bykdzc1dxi3zhx.gif" alt='John Mulaney on a late night show saying "I am excited nervous"' width="498" height="298"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;&lt;em&gt;Pj, you're now in charge of a global community of students who have already done so much without you, how do you feel?&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  What is Field Day?
&lt;/h2&gt;

&lt;p&gt;Field day is an un-conference created by GitHub Campus Experts. It's designed to be a place for students to gather and talk with their peers about technology; web development, app development, AI, internships, tech stacks, best practices, and (somehow) much much more. After an intro, keynote, and ice breaker, attendees grab post it notes and write down what they want to talk about and stick it up on a board. Then, the organizers group those into similar topics and create small group areas where those topics will be discussed by whomever wants to join. Imagine a meetup where the topic is chosen by the people attending rather than the organizers. &lt;/p&gt;

&lt;h2&gt;
  
  
  Oh cool! But, What are Campus Experts?
&lt;/h2&gt;

&lt;p&gt;Another great question! You're good at asking these questions, Pj! &lt;br&gt;
&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2zy8f6ysjokwg8194h1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2zy8f6ysjokwg8194h1.gif" alt="A member of a kpop group giving himself a medal" width="498" height="488"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;&lt;em&gt;Pj: You're amazing. Pj: Thank you, you're amazing. Pj: NO thank you, you're amazing. Pj: Of course, thank you, but you're...&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://githubcampus.expert/"&gt;Campus Experts&lt;/a&gt; are students around the world who want to build communities around tech. These students are organizing hackathons, meetups, workshops, social events, and study sessions. We hold &lt;a href="https://education.github.com/experts"&gt;applications twice a year&lt;/a&gt; (February and August) and receive thousands of people wanting to become a Campus Expert. GitHub's role in this is supporting only — helping them with swag, funding, logistical support, and being a kind of guide in how to organize these events. &lt;/p&gt;

&lt;p&gt;Most importantly, they are not GitHub ambassadors. We work in GitHub of course (using issues, discussions, actions, etc etc.) but we don't expect the students to go around and tell everyone only about GitHub. We only want them to organize events and become a community leader on their campus to other students interested in technology. &lt;/p&gt;

&lt;h2&gt;
  
  
  Great! Annnnddd... Who are you?
&lt;/h2&gt;

&lt;p&gt;Oh yeah! I guess I didn’t do that earlier. I’m &lt;a href="https://twitter.com/MetzinAround"&gt;Pj Metz&lt;/a&gt;, Program Manager of Education Communities at GitHub, and I'm responsible for the Campus Experts program. I recently joined the education team (February 6th to be exact), so I'm definitely still learning how the program works. I had an 11 year career as a high school English teacher before switching to tech in 2021. I’m excited to be coming back to something related to my first passion of education while still working in my new career in tech. &lt;/p&gt;

&lt;h2&gt;
  
  
  Okay, back to the story.
&lt;/h2&gt;

&lt;p&gt;Since I started in February, I wasn’t very active in planning this event. In fact, as you can see above, this event is not planned by GitHub staff. We only play a supporting role in it. This means we didn’t pick the location, the venue, the food, the events, the speakers… none of it. It was all in the capable hands of our Campus Experts. Now, as I mentioned, I was a high school teacher for over a decade, and have helped my fair share of student groups to organize events, and it was nearly always chaos. We’d have a few students who were really doing most of the work and planning, but a lot of it felt like herding cats. &lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rnc7z2ca29bux7ozlps.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6rnc7z2ca29bux7ozlps.gif" alt="A human trying to get several small kittens to remain in a single spot" width="498" height="281"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;
&lt;em&gt;Pictured: Me trying to run a prom committee meeting in 2017&lt;/em&gt;&lt;br&gt;
&lt;/center&gt;
&lt;br&gt;


&lt;p&gt;So I truly didn’t know what to expect coming into this. I was so used to having to help students understand basic event organization stuff before, and I had not helped with this one at all. On top of that, I had only met around 10 campus experts on zoom before this moment. I didn’t know them as professionals or students yet. So while I didn’t fear the worst…&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1g4n48afumo9xhbyoce.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1g4n48afumo9xhbyoce.gif" alt="A scene from community where a character walks into a room smilling and holding pizza, but the room is full of chaos, fire, and injury." width="498" height="345"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;
&lt;em&gt;There was much less fire in the worst case scenario I created in my head&lt;/em&gt;&lt;br&gt;
&lt;/center&gt;
&lt;br&gt;


&lt;p&gt;...I certainly wasn’t sure how things would go. &lt;/p&gt;

&lt;h2&gt;
  
  
  Well, how did things go
&lt;/h2&gt;

&lt;p&gt;This was one of the best organized small events I have ever attended. I was stunned at how well it all went and how few things went “wrong” like they usually do.&lt;br&gt;
&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq4zqtgince5zcbntej6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq4zqtgince5zcbntej6.jpg" alt="Purple Umbrellas behind a GitHub skateboard deck on the floor" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;&lt;em&gt;The purple umbrellas are a symbol of Field Days&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;


&lt;p&gt;Seamless transitions from activity to activity, quick thinking people proactively working to PREVENT issues from coming up before they happened, and a lively, excited, and all together fun environment seemed effortlessly generated by these students. I watched students lead discussions where they actively worked to not take over the discussion. They were moving between groups to encourage different points of view. They were working with the team at the venue to ensure they understood what was expected of them as guests, and they smiled the whole time. I witnessed so little stress compared to other events of similar size that I’ve been to. &lt;/p&gt;

&lt;p&gt;As we wound down and our attendees started to head back home, arms full of stickers and umbrellas, I watched as the Campus Experts continued to work. Packing everything up, delegating roles to people as we cleaned, and in one particularly amazing instance, a Campus Expert contacted a local shelter to directly donate our leftover food and drinks to. It was a block away, and a team of nearly a dozen of us each carrying something walked there to make sure we weren’t wasting anything. This happened unprompted and was something they had already considered beforehand. I was proud to even be associated with these young folks. &lt;/p&gt;

&lt;p&gt;Typing now after the event, I know exactly what it is that separated this event from others in my mind: they were PREPARED. &lt;/p&gt;

&lt;h2&gt;
  
  
  What does it mean to be prepared?
&lt;/h2&gt;

&lt;p&gt;Preparation is thinking not only of what you want to happen and ensuring it can, it’s about considering what MIGHT happen and having a plan in place for it. We had plenty of food and drinks, activities ran on time, and attendees had ample opportunities to run the hallway track and chat with each other to build important connections and networks that will last throughout the rest of their careers. It was amazing to watch and I distinctly remember thinking, “This is FAR BETTER than it would have been if I had organized it.”&lt;/p&gt;

&lt;p&gt;I was humbled by these Campus Experts dedication and hard work, and simultaneously immensely proud of what they had accomplished. This single Field Day, an event that I attended after working at GitHub for only 27 actual work days, was the perfect first GitHub education related event for me to attend. &lt;/p&gt;

&lt;p&gt;The bar is now set far higher; not just for future Campus Expert events, but my bar is even higher now. Knowing what these students are doing out here is making me feel like I have to work even harder. &lt;/p&gt;

&lt;p&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtrgw1tp3lgu5a8l59j3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtrgw1tp3lgu5a8l59j3.gif" alt="Deku from My Hero Academia as a child jumping up and excitedly pumping his fist into the air" width="480" height="266"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;&lt;em&gt;I can do it!&lt;/em&gt;&lt;/center&gt;
&lt;br&gt;


&lt;p&gt;Admittedly, I’m more nervous about what I can do now that I've seen what these students are capable of; I need to work even harder than I originally thought. But, as many people who are attending Campus Expert led events around the world are finding out, there’s something inspiring about these students in red hoodies. &lt;/p&gt;




&lt;p&gt;To learn more about Campus Experts: &lt;a href="https://education.github.com/experts"&gt;https://education.github.com/experts&lt;/a&gt;&lt;br&gt;
To get your free Student Developer Pack: &lt;a href="https://education.github.com/pack"&gt;https://education.github.com/pack&lt;/a&gt;&lt;br&gt;
To learn more about the organizers of Field Day North America 2024:&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/j0ashm"&gt;Joash Matthew&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/kpatel0170/"&gt;Kartik Patel&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/davidteather/"&gt;David Teather&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/cecilia-la-place"&gt;Cecilia La Place&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/javier-bracho/"&gt;Javier Bracho&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linkedin.com/in/leonkoech"&gt;Leon Kipkoech&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/vedantbahel/"&gt;Vedant Bahel&lt;/a&gt;&lt;/p&gt;

</description>
      <category>education</category>
      <category>github</category>
      <category>community</category>
    </item>
    <item>
      <title>Harnessing Headers for Analytics</title>
      <dc:creator>Athul Cyriac </dc:creator>
      <pubDate>Wed, 02 Dec 2020 05:03:58 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/harnessing-headers-for-analytics-l90</link>
      <guid>https://forem.com/gh-campus-experts/harnessing-headers-for-analytics-l90</guid>
      <description>&lt;p&gt;Recent days, I have a hard time going to sleep. I have no idea why but it may be because I wake up late or sit in front of my computer all day long. Anyways this sleeplessness paved way for quite a handful of ideas and the most recent one was an Analytics Server. &lt;br&gt;
I was heavily inspired by &lt;a href="https://github.com/milesmcc/shynet"&gt;Shynet&lt;/a&gt; for its simplicity and aesthetics and I had been using it for getting the analytics of this Blog and a few Personal Projects. Shynet was built with Django which again piqued my interest.&lt;br&gt;
I had the usual &lt;a href="https://athul.github.io/notes/posts/nih.html"&gt;NIH&lt;/a&gt;-ish thought, why not build one. Why borrow when you can create. I only wanted a barebones Analytics Server with the main outputs like how man URL hits do I receive on the site, what are the referrers, which devices are being used to access and so on... &lt;br&gt;
And from that sleeplessness idea, I tried my hand on it the next day and I would say I succeeded. I also &lt;a href="https://lobste.rs/s/tgvgjn/what_are_you_doing_this_weekend#c_khfgz9"&gt;told&lt;/a&gt; in &lt;a href="https://lobste.rs"&gt;https://lobste.rs&lt;/a&gt; that I am going to build one over the weekend and I did.&lt;/p&gt;

&lt;p&gt;The core is hacky but it gets the job done. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can find the whole source code &lt;a href="https://github.com/athul/jimbru"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Starting to start
&lt;/h2&gt;

&lt;p&gt;I tend to work on my side projects between my Google Meet classes and I tend to be lazy most of the time. Reduce the complexity, reduce the dependency and reduce unwanted additions. This is a new way of working for my projects and before I used to implement a new feature if I was in a good mood and worldly surroundings were okay. Now I follow my project guidelines, which I had &lt;a href="https://athul.github.io/notes/posts/project.html"&gt;jotted down&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Initially, I googled for the same and an old 2014 blog post came up. It was in Python but with Flask and gave me an idea on how it should work. It gave me a lot of insights on how everything should be glued together to work with and how to use the Js side of things effectively.&lt;/p&gt;

&lt;p&gt;FastAPI was in my mind because I could host that and use it for some sites of mine with ease. I hacked up the basic working server in a few hours and tried to get some data from it. All this data needed to be stored somewhere and I used &lt;a href="https://deta.sh"&gt;deta.sh&lt;/a&gt;'s Base which is a NoSQL DB with an easy API for working with Python. &lt;/p&gt;

&lt;p&gt;The base working model was barebones and didn't provide many insights on anything. It did as it was told to do, nothing more nothing less.&lt;/p&gt;
&lt;h2&gt;
  
  
  Goldmine of Sorts.
&lt;/h2&gt;

&lt;p&gt;To get more insights into the working of Shynet, I found out that the HTTP-headers were used to get all the data. An HTTP-Header response contains almost every needed data to make something like this. Imagine the data being sent to any server for every page load, it may be hard to comprehend but it's a lot of data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"accept"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"image/webp,image/apng,image/*,*/*;q=0.8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"accept-encoding"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"gzip, deflate, br"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"accept-language"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"en-IN,en-GB;q=0.9,en-US;q=0.8,en;q=0.7"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"referer"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://athul.github.io/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sec-fetch-dest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"image"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sec-fetch-mode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"no-cors"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sec-fetch-site"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cross-site"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"user-agent"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Mozilla/5.0 (Linux; Android 9; LLD-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Mobile Safari/537.36"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-amzn-trace-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Root=&amp;lt;some_trace_id&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-forwarded-for"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2.3.4.5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-forwarded-host"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;host_url&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-forwarded-port"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"443"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-forwarded-proto"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-original-forwarded-for"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.2.3.4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-real-ip"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.2.3.4"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-request-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1234gasdjhgi"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"x-scheme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a sample header request from my website to the Analytics server. See, we can get many details from these if we've got the right tools. There is a site called &lt;a href="https://ipapi.co/"&gt;https://ipapi.co/&lt;/a&gt; and we can get quite a handful of details from them wit just the IP address, we could get data like the network provider, the location of the User logged in and so on...&lt;/p&gt;

&lt;p&gt;These are some Gems I learned from Reading Shynet's Source code. Shynet uses a DB called MaxMind GeoIP DB. &lt;/p&gt;

&lt;p&gt;Okay, now I can use the Data. But where would I see all these? I could go to Deta's DB explorer and Read all these as JSON and get the idea. But what's the point in reading JSON and understanding JSON, without getting any meaningful insights??&lt;/p&gt;

&lt;h2&gt;
  
  
  Processing the Received Data
&lt;/h2&gt;

&lt;p&gt;Once the data is received to the DB, to get some meaningful insights, had to process it a bit further. The data had to be sorted and provided and should be sent to the Frontend.&lt;br&gt;
This was the first time I learned about and used the &lt;code&gt;Sorted&lt;/code&gt; and &lt;code&gt;Counter&lt;/code&gt; functions of Python. To get the Device details from the 'user-agent' key in headers, I used the &lt;code&gt;user-agent&lt;/code&gt; package in Python. All this data would be used to render the Graphs and Tables in the Frontend.&lt;/p&gt;

&lt;h2&gt;
  
  
  API or Templates?
&lt;/h2&gt;

&lt;p&gt;FastAPI is widely used for its API capabilities using async requests and all. But FastAPI is built on top of &lt;a href="https://www.starlette.io/"&gt;Starlette&lt;/a&gt; which is a cool web framework. It not only supports REST API's but also supports templating with Jinja2. FastAPI does this too. I had been building toy APIs for a while now, and creating an API for transferring the data and doing stuff, but I felt like this should be kept private and be not accessible from Prying hands. So with no prior experience with Jinja2 templating, I finalized on using templates.&lt;/p&gt;

&lt;p&gt;Using templates made it quite a lot easier to manage and work on. It was daunting at first but I later picked up the pace and made my way through it.&lt;/p&gt;

&lt;p&gt;Jinja2 has many good features that you could work on and use. It works on Js files as well. It can be picked easily with some trial and error. The docs are also quite good except for the filters part since it doesn't have many examples. Filters are another cool feature of Jinja2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Charts for the Win !!
&lt;/h2&gt;

&lt;p&gt;Okay so templating is fixed and I opted for Tailwind CSS for frontend styling and Chart.js for the Graphs, but I later shifted to &lt;a href="https://frappe.io/charts"&gt;Frappe Charts&lt;/a&gt; because I wanted to try it out and that was quite a good match. Frappe charts have an easier API and small size compared to Chart.js and for a Js noob like me, it was quite easy.&lt;br&gt;
Using templates inside the Js file also boosted the development time. Using graphs/charts also improved aesthetics and made more sense of the Data. The only tradeoff was that it increased page load time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Easily Deployable on Deta Micros&lt;/li&gt;
&lt;li&gt;Small Js Code. It tracks the PageLoad time and current URL&lt;/li&gt;
&lt;li&gt;Graphs and Insights&lt;/li&gt;
&lt;li&gt;Country and Network Provider and location info&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I know many features are missing, I would implement them if I get the time and if anyone requests them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;I'm also planning on writing on a Tutorial for building the same from scratch&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots
&lt;/h2&gt;

&lt;p&gt;Login Page&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Cvuq5zyo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/RMrl7Ra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Cvuq5zyo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/RMrl7Ra.png" alt="Login page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Welcome Page&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ak6exHmq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ehGrsLT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ak6exHmq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ehGrsLT.png" alt="Main Page - Graph 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Graphs on Hours and Devices&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WrloNaUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/za32htT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WrloNaUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/za32htT.png" alt="Another Graphs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visited URLs and referrers&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mg0puCQ5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/YTevkH8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mg0puCQ5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/YTevkH8.png" alt="Counters"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Device and user agents&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5Pe1Gscg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/7PZq091.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5Pe1Gscg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/7PZq091.png" alt="user Agents"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All Sessions&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8e3rq4yt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/j4TztQt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8e3rq4yt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/j4TztQt.png" alt="sessions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Per Session Page&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oti9XE8U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/nbP8fT0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oti9XE8U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/nbP8fT0.png" alt="Per Session"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you found this useful, consider donating me on &lt;a href="https://www.buymeacoffee.com/athulca"&gt;BMC ☕️&lt;/a&gt; or &lt;a href="https://paypal.me/athulca"&gt;Paypal&lt;/a&gt; and can reach out to me on &lt;a href="https://twitter.com/athulcajay"&gt;Twitter&lt;/a&gt; 😄&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>python</category>
      <category>webdev</category>
      <category>backend</category>
    </item>
    <item>
      <title>How I built the API for Hacktoberfest Validation</title>
      <dc:creator>Harish</dc:creator>
      <pubDate>Wed, 18 Nov 2020 04:51:14 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/building-an-api-for-hacktoberfest-validation-3jl6</link>
      <guid>https://forem.com/gh-campus-experts/building-an-api-for-hacktoberfest-validation-3jl6</guid>
      <description>&lt;p&gt;If you're up for some old Queen hits, feel free to turn it up!&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/artist/1dfeR4HaWDbWqFHLkxsg1d" width="100%" height="380px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Where it all started
&lt;/h3&gt;

&lt;p&gt;Online certificates have become a huge thing nowadays. With people posting certificates on LinkedIn, no one seems the bother about its authenticity or value. All this for what? to incentivize people? Hmm...&lt;br&gt;&lt;br&gt;
More and more digital documents came into play. Things like Photo frames, Online ID Cards, Badges for attending events...etc. Assigning people with badges seemed like a cool thing to do. That's when we started digging and came to know about DSC OMG event. DSC OMG is a global conference for talks, workshops and events for developers. They had used a badges framework wrapped around their event. At the end people had badges in their dashboard for crazy things like attending a particular session, logging in first, staying up till the end. One could easily think of a billion ways to assign badges.&lt;/p&gt;
&lt;h3&gt;
  
  
  The badges Framework
&lt;/h3&gt;

&lt;p&gt;We at DSC NIT Rourkela have wrapped our &lt;a href="https://live.dscnitrourkela.org/" rel="noopener noreferrer"&gt;website&lt;/a&gt; with the same badges framework which DSC OMG had used. Thanks to &lt;a href="https://twitter.com/Kautukkundan" rel="noopener noreferrer"&gt;Kautuk Kundan&lt;/a&gt; (the creator of the badges framework).&lt;/p&gt;

&lt;p&gt;After setting up the badges server, even we went crazy and started giving away badges for all sorts of activities. At the end of October, I had this thought of assigning badges to the ones who have completed the Hacktoberfest 2020 Challenge. When I first thought about it, I didn't really give much thought about it. Since it is GitHub and DigitialOcean has already done, assumed it to be fairly straightforward. And it is if you know how it is done :).&lt;/p&gt;
&lt;h3&gt;
  
  
  Getting to work
&lt;/h3&gt;

&lt;p&gt;Before getting into coding, I first picture the flow of all the things that need to be done. Firstly, there would be a login button on the front-end which authenticates the user and send a token to some server. Then that server fetches the PR history and does the validation check, return back with a Success True/False response.   &lt;/p&gt;

&lt;p&gt;Setting up an OAuth GitHub app was really easy. Once that is done, I started looking into the GitHub API Docs.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;As I was going through the Docs, I couldn't find any API which gives away the PR of an authenticated user. That really hit me hard. It didn't make sense, because DO has done it, so there must be a way. I was thinking to use search queries, even considering scrapping the page( sorry GitHub :/). No luck whatsoever.&lt;br&gt;&lt;br&gt;
I pretty much gave up and thought maybe DO has some internal affair with GitHub. The big enterprises get it done. It was a big surprise to me when I got to know that the entire Hacktoberfest website, server and client was on GitHub. I felt like I hit a JackPot! It didn't even last for a second :(.&lt;/p&gt;
&lt;h3&gt;
  
  
  Exploring DO's Hacktoberfest Repo
&lt;/h3&gt;

&lt;p&gt;The entire codebase was on Ruby and I have no idea of Ruby. Tried going into random files in hope to figure something out, but no luck. I've used Python, JavaScript, C++ and even PHP. But Ruby was totally strange! No one I knew had a good understanding of Ruby. Out of frustration, I went to the contributors list and started mailing them!&lt;/p&gt;

&lt;p&gt;Yes, that is what I did. Found the top contributor, her name is Frida. She had her mail on GitHub, even though I couldn't really comprehend why she would help me. Yet I mailed her, then I found a username called &lt;code&gt;MattIPv4&lt;/code&gt;. This dude had his Twitter handle on GitHub, and his GitHub Profile said &lt;em&gt;Community Platform Manager @digitalocean&lt;/em&gt;. Now, this is the real jackpot.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Magic
&lt;/h3&gt;

&lt;p&gt;I texted Matt on Twitter, He asked me to drop a mail to Hacktoberfest support. As Matt suggested, I sent the same mail which I had sent to Frida. I was surprised to get a reply back within &lt;em&gt;17 mins&lt;/em&gt;. &lt;br&gt;
Below is the reply I got&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyu1e85a45xjfrtomf0fj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyu1e85a45xjfrtomf0fj.png" alt="Email" width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As one could see, the file for the individual functionalities was clearly mentioned. This was like the ultimate tip, went right into the files, although I was not able to recognise any Ruby Code. I found out that there is a GraphQL query which fetches PR History. Yes, I was initially referring to only REST API of GitHub as I wasn't very much comfortable with GraphQL. I didn't even have to write my own GraphQL query, I copy pasted the exact query which was in the repo to my NodeJS GraphQL client.&lt;/p&gt;
&lt;h3&gt;
  
  
  Actual work begins
&lt;/h3&gt;

&lt;p&gt;Now that I have the data, I just had to filter the PR based on the guidelines. Quickly I fired up an Express Server with all the basic setup. I always prefer Express and NodeJS for backend, it is powerful and super fast to build. With NPM, one could do any damn thing they want to, cause there would be an NPM package for every damn thing B|.&lt;br&gt;
I filtered the data according to the updated guidelines, even added support to handle PRs which counts before the guidelines were updated.&lt;/p&gt;
&lt;h3&gt;
  
  
  What the API does
&lt;/h3&gt;

&lt;p&gt;The API takes in the user token and responds back with a &lt;code&gt;{success:True}&lt;/code&gt; if they have completed the challenge else &lt;code&gt;{success:False}&lt;/code&gt; if they haven't.  Check out the Repository on GitHub to see an example Request and Response.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/HarishTeens" rel="noopener noreferrer"&gt;
        HarishTeens
      &lt;/a&gt; / &lt;a href="https://github.com/HarishTeens/hacktoberfest-validation" rel="noopener noreferrer"&gt;
        hacktoberfest-validation
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Hacktoberfest 2020 Validation Checker&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Introduction&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;An API to simulate DigitalOcean's Hacktoberfest Validation Check.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step to Use the API&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Make a POST Request to &lt;code&gt;http://localhost:4000/hacktoberfest&lt;/code&gt; .&lt;/li&gt;
&lt;li&gt;Send your PAT(Personal Access Token) in Body.  Check this &lt;a href="https://github.com/settings/tokens" rel="noopener noreferrer"&gt;link&lt;/a&gt; to get your PAT.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Example&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Request&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/HarishTeens/hacktoberfest-validationassets/Screenshot_20201116_154027.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7tO_uzpE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github.com/HarishTeens/hacktoberfest-validationassets/Screenshot_20201116_154027.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Response&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;If completed,
&lt;code&gt;{  success:true    }&lt;/code&gt;&lt;br&gt;
else &lt;code&gt;{  success:false }&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;References: &lt;a href="https://github.com/digitalocean/hacktoberfest" rel="noopener noreferrer"&gt;Official Digital Ocean's Repository&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Special Thanks to &lt;a href="https://github.com/fridaland" rel="noopener noreferrer"&gt;@fridaland&lt;/a&gt; and &lt;a href="https://github.com/MattIPv4" rel="noopener noreferrer"&gt;@MattIPv4&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/HarishTeens/hacktoberfest-validation" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  How the API works
&lt;/h3&gt;

&lt;p&gt;Here are the steps which execute in sequence&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get User Token&lt;/li&gt;
&lt;li&gt;Fetch PR History&lt;/li&gt;
&lt;li&gt;Filter the PRs in accordance with DO's guidelines.&lt;/li&gt;
&lt;li&gt;Return True/False based on the count of valid PRs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What more could be improved
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;For now, it just works. There is literally zero error handling, if things don't go as expected, the app would definitely break. I am not super proud about that, will definitely work on it. &lt;/li&gt;
&lt;li&gt;Also the filtering logic and steps could be done more efficiently. Couldn't really get that logic from DO's repo as it was in Ruby.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;If you have reached this point, probably you are wondering. What is so great about this? This is a piece of cake to me, I could code this in an hour. I'd say great!&lt;br&gt;&lt;br&gt;
This is not a tutorial on how to build the Hacktoberfest Validation API. This is the story of how I got to it. It felt really magical to see Matt replying to a random stranger's Twitter text and a magic mail which points me to the right direction. All adding more beauty of how opensource works. Also, I got the mail back from Frida a day later! Lastly, this is not an article to praise DigitalOcean and their support.&lt;br&gt;
P.S. Shhh... They didn't pay me ;)&lt;/p&gt;

&lt;p&gt;I was really amazed that day when I realised that people are so kind and helping in the open-source community. It was a blissful experience on the whole &amp;lt;3.&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>github</category>
      <category>opensource</category>
      <category>api</category>
    </item>
    <item>
      <title>Everything you need to know about GitHub Campus Expert 🚩</title>
      <dc:creator>Harish</dc:creator>
      <pubDate>Thu, 13 Aug 2020 14:37:13 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/everything-you-need-to-know-about-github-campus-expert-bc6</link>
      <guid>https://forem.com/gh-campus-experts/everything-you-need-to-know-about-github-campus-expert-bc6</guid>
      <description>&lt;p&gt;This post targets all of those who have no idea about what GitHub Campus Experts program is or even what GitHub is, or you might have heard these names somewhere and want to shine a little light on what exactly these are.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GitHub?
&lt;/h2&gt;

&lt;p&gt;GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. If you are getting into tech and have not used Github, I promise you it will be a delight and will make your life a lot less painful.&lt;/p&gt;

&lt;p&gt;GitHub Education helps students, teachers, and schools access the tools and events they need to shape the next generation of software development. There are a variety of programs GitHub offers as part of GitHub Education. Among one is the GitHub Campus Experts Program.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a GitHub Campus Expert?
&lt;/h2&gt;

&lt;p&gt;People learn better when they can learn with a community of like-minded peers. A Campus Expert improves the technical community on their campus, with training and support from GitHub. Once you complete the training and become a GitHub Campus Expert, you will have access to resources and support from GitHub, such as swag, sponsorship, and the opportunity to attend events like the company’s annual conference, GitHub Universe.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can I become one?
&lt;/h2&gt;

&lt;p&gt;After reading the above, if you too got excited like me and want to know how you can also become one, Check out this &lt;a href="https://githubcampus.expert/training" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is the first place you want to go to kickstart your journey of becoming a campus expert. Once you click Start, GitHub will take some time to get things ready for training. You will get all the instructions about your training and submissions, right after it is complete. It took me about a month to complete my training, GitHub does not have any deadline over the submissions, you can submit these at your own pace. After you complete your submissions, you have to be patient and wait for a reviewer to review your submissions. After a reviewer reviews your submissions and merges your PR, the final step is a screening call. And then you would have become the GitHub Campus Expert for your Campus.&lt;br&gt;
Now let us answer some serious questions!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the use of becoming a GitHub Campus Expert?
&lt;/h2&gt;

&lt;p&gt;Ever thought about having an enriching community where you can find like-minded peers and have fun together? Or maybe you want to organize many events for your campus so that people get excited and join hands together? Where would you go? Whom would you ask for help? Most importantly, What about the funds?&lt;br&gt;
That is where the GitHub Campus Expert Program will come into the picture. We have a fantastic community of passionate people backed by GitHub all over the world, who will support you in building a better Technical Community for your Campus. If you think that your campus lacks a good technical community, do not wait for a leader or someone, take things on your hand and start the movement.&lt;br&gt;
Leaders are not born; they are made.&lt;/p&gt;

&lt;p&gt;Finally, the question for which everyone wants to know the answer to&lt;/p&gt;

&lt;h2&gt;
  
  
  What tools and resources does a GitHub Campus Expert get access to?
&lt;/h2&gt;

&lt;p&gt;The ultimate resource is always People, People, People.&lt;br&gt;
You will be added to the slack channel where you can find all the GitHub Campus Experts around the world. Then you gain access to tools that help you make resource requests, and collaborate with GitHub Staff and other Campus Experts. GitHub will ship you cool swags as I got below,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fckvd2ghybeczvbag6tqr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fckvd2ghybeczvbag6tqr.jpeg" alt="Alt Text" width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the network of amazing people and GitHub supporting in you in every way it could, you can build something greater than yourself.&lt;br&gt;
Thanks for reading the article. I cannot thank enough GitHub for the fantastic resources it has given.&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Things you may not know GitHub offers</title>
      <dc:creator>Amy Hudspith</dc:creator>
      <pubDate>Wed, 29 Jul 2020 20:02:00 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/things-you-may-not-know-github-offers-i60</link>
      <guid>https://forem.com/gh-campus-experts/things-you-may-not-know-github-offers-i60</guid>
      <description>&lt;h1&gt;
  
  
  What do you think of when you hear the name GitHub?
&lt;/h1&gt;

&lt;p&gt;Not that long ago, I thought of one thing only - version control.&lt;/p&gt;

&lt;p&gt;Now, I would think its pretty likely that this may be all that you think of when you hear GitHub too. &lt;/p&gt;

&lt;p&gt;And that's ok! &lt;/p&gt;

&lt;p&gt;GitHub does version control incredibly well, and for a lot of people GitHub is the only version control service they have ever used. &lt;/p&gt;

&lt;p&gt;And like I mentioned above, until recently I also had this viewpoint. &lt;/p&gt;

&lt;h2&gt;
  
  
  So what's changed?
&lt;/h2&gt;

&lt;p&gt;Well, quite a few things have changed. &lt;/p&gt;

&lt;p&gt;First of all, on 29th May 2020 I became a GitHub Campus Expert. This has given me more of a reason to explore what GitHub has to offer.&lt;/p&gt;

&lt;p&gt;Secondly, I became the web editor of my college at university, and subsequently had the ability to create a web committee that needs managing.&lt;/p&gt;

&lt;p&gt;Finally, Covid happened, and there was a sudden need to have all my team organisation online. &lt;/p&gt;

&lt;h2&gt;
  
  
  What have I found?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/team"&gt;Organisations&lt;/a&gt; - Great for managing a team, provides communication, centralised repo ownership, kanban boards&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/explore"&gt;The Explore tab&lt;/a&gt; - Helps you discover new and interesting repos from other users&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.blog"&gt;The Blog&lt;/a&gt; - Interesting posts from the GH team &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/features/actions"&gt;Actions&lt;/a&gt; - for CI/CD&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://lab.github.com"&gt;Online Learning Labs&lt;/a&gt; - amazing learning resources &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://education.github.com/students/experts"&gt;Campus Expert Program&lt;/a&gt; - I couldn't not plug this amazing scheme 😆&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://education.github.com/pack"&gt;The Student Developer Pack&lt;/a&gt; - A must for any students&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, there are many other things GitHub has to offer, but these are the ones I have found the most interesting/useful so far.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is there anything you think I've missed? Leave it in the comments 😀
&lt;/h3&gt;

</description>
      <category>github</category>
      <category>learning</category>
    </item>
    <item>
      <title>Auto Updating Profile Readme with Waka-Readme</title>
      <dc:creator>Athul Cyriac </dc:creator>
      <pubDate>Mon, 20 Jul 2020 05:37:35 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/auto-updating-profile-readme-with-waka-readme-36oi</link>
      <guid>https://forem.com/gh-campus-experts/auto-updating-profile-readme-with-waka-readme-36oi</guid>
      <description>&lt;p&gt;Profile Readme are a new way to show off your GitHub profile and gives you all the powers of Markdown for doing it. Let's discuss a way you can add a nerdy stats to your profile readme with Python and GitHub Actions and how I use them to update my Profile Readme.&lt;/p&gt;

&lt;p&gt;So I would like to introduce you to &lt;a href="https://github.com/athul/waka-readme"&gt;waka-readme&lt;/a&gt;. It's built with Python and can be used to generate a graph like this in your Profile Repo. It mostly uses regex and GitHub's REST API for Python to update the readme. This graph will be updated every day at 00.00 UTC on schedule thanks to GitHub Actions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Week #29 : July 13 - 18

Python      8 hrs 52 mins       ███████████████████░░░░░░   75.87% 
Go          1 hr 15 mins        ██░░░░░░░░░░░░░░░░░░░░░░░   10.79% 
Markdown    52 mins             █░░░░░░░░░░░░░░░░░░░░░░░░   7.43% 
Docker      16 mins             ░░░░░░░░░░░░░░░░░░░░░░░░░   2.32% 
YAML        7 mins              ░░░░░░░░░░░░░░░░░░░░░░░░░   1.07%
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Currently waka-readme has nearly 50 ⭐️s on GitHub and 3 Contributors and about 64 people use this in their Profile. It's not that fancy in any way but totally nerdy in my opinion🤓.&lt;/p&gt;
&lt;h2&gt;
  
  
  FlashBack
&lt;/h2&gt;

&lt;p&gt;I don't know if any of you remember, but there was a time when pinnable gists came and the GitHub world just went for new tricks and hacks for creating pinnable gists. I saw some people &lt;a href="https://www.youtube.com/watch?v=dQw4w9WgXcQ"&gt;rickrolling&lt;/a&gt; with pinnable Gists. That was a perfect time time for creating some cool hacks and GitHub Actions were still in the early beta phases. I was a user of &lt;a href="https://wakatime.com"&gt;WakaTime&lt;/a&gt; and the &lt;a href="https://github.com/matchai/waka-box"&gt;waka-box&lt;/a&gt; workflow and had been using it till the Profile Readme came.&lt;/p&gt;
&lt;h2&gt;
  
  
  Waka-Readme
&lt;/h2&gt;

&lt;p&gt;Once I was able to get the profile readme on my GitHub profile, I tried to hack on it a bit and the first hack was to include the WakaTime stats in the profile readme. The first method I used was to scrape it from the Gist I made for waka-box by simply a GET request to the Gist's raw URL. Then I thought that this wouldn't be useful for any other people since that would simply introduce a bit more overhead for people not using waka-box. So I went to hack on it a bit more and used WakaTime's API to get my data and generate a graph with Python. I used the percentage part of the API response and divided that with 4 and used that value to generate a graph with 25 blocks of &lt;code&gt;█&lt;/code&gt; and &lt;code&gt;░&lt;/code&gt;. This will give a good graph for the metrics in regards with the percentage of time spent on a language. This data is collected from the WakaTime plugin in your code-editor and it support almost editors the last time I checked.&lt;/p&gt;

&lt;p&gt;I encourage you to update your Profile readme till it gives a whole idea of who you are and if you have time do try waka-readme and fell free to open an issue or ping me on twitter &lt;a href="https://twitter.com/athulcajay"&gt;@athulcajay&lt;/a&gt; for any queries plus drop a ⭐️ if you found it useful. Your feedbacks are highly appreciated.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/athul"&gt;
        athul
      &lt;/a&gt; / &lt;a href="https://github.com/athul/waka-readme"&gt;
        waka-readme
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Wakatime Weekly Metrics on your Profile Readme. 
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Dev Metrics in Readme&lt;/h1&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/8397274/87243943-e6b45c00-c457-11ea-94c9-2aa0bf241be8.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YTjGpJBr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/8397274/87243943-e6b45c00-c457-11ea-94c9-2aa0bf241be8.png" alt="Project Preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wakatime.com" rel="nofollow"&gt;WakaTime&lt;/a&gt; Weekly Metrics on your Profile Readme:&lt;/p&gt;
&lt;h2&gt;
Prep Work&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You need to update the markdown file(.md) with 2 comments. You can refer &lt;a href="https://raw.githubusercontent.com/athul/waka-readme/master/#update-your-readme"&gt;here&lt;/a&gt; for updating it.&lt;/li&gt;
&lt;li&gt;You'll need a WakaTime API Key. You can get that from your WakaTime Account Settings
&lt;ul&gt;
&lt;li&gt;You can refer &lt;a href="https://raw.githubusercontent.com/athul/waka-readme/master/#new-to-wakatime"&gt;here&lt;/a&gt;, if you're new to WakaTime&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional&lt;/strong&gt; You'll need a GitHub API Token with &lt;code&gt;repo&lt;/code&gt; scope from &lt;a href="https://github.com/settings/tokens"&gt;here&lt;/a&gt; if you're running the action not in your Profile Repository
&lt;ul&gt;
&lt;li&gt;You can use &lt;a href="https://raw.githubusercontent.com/athul/waka-readme/master/#other-repository-not-profile"&gt;this&lt;/a&gt; example to work it out&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You need to save the WakaTime API Key (and the GitHub API Token, if you need it) in the repository secrets. You can find that in the Settings of your Repository.Be sure to save those as the following
&lt;ul&gt;
&lt;li&gt;WakaTime-api-key as &lt;code&gt;WAKATIME_API_KEY = &amp;lt;your wakatime API Key&amp;gt;&lt;/code&gt;and&lt;/li&gt;
&lt;li&gt;The GitHub Access Token as &lt;code&gt;GH_TOKEN=&amp;lt;your github access token&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can follow either of the Two Examples…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/athul/waka-readme"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



</description>
      <category>github</category>
      <category>git</category>
      <category>showdev</category>
      <category>python</category>
    </item>
    <item>
      <title>GitHub Campus Experts: Impacting the Student Developer Ecosystem 🚩</title>
      <dc:creator>Manbir Singh Marwah</dc:creator>
      <pubDate>Fri, 19 Jun 2020 12:42:02 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/github-campus-experts-impacting-the-developer-ecosystem-2hh7</link>
      <guid>https://forem.com/gh-campus-experts/github-campus-experts-impacting-the-developer-ecosystem-2hh7</guid>
      <description>&lt;h3&gt;
  
  
  #define i̶n̶t̶ long time_ago;⠀⠀// just to make it sound more like an old dev story :p
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Feducation.github.com%2Fassets%2Fnext%2Fcampus-experts%2Fopengraph-bbc921c34890fc1a76d65167838766b9adf12237a9f54354bcea2d4bbbf46e9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Feducation.github.com%2Fassets%2Fnext%2Fcampus-experts%2Fopengraph-bbc921c34890fc1a76d65167838766b9adf12237a9f54354bcea2d4bbbf46e9e.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The story traces back to February 2019 when I joined the GitHub Campus Experts program, and ever since I did, I've been coming across a lot of queries about the program and my experience. This blog will help you get an insight into everything you need to know. One thing I'll say to keep you hooked: this program helped me learn a lot (read: A LOT) to grow in a lot (again? 👀) of aspects. ✨&lt;/p&gt;

&lt;p&gt;By that, you might've guessed that this ain't another over-hyped program out there that uses students as marketing bots, but one that is actually providing some value and opportunities to them.&lt;/p&gt;

&lt;p&gt;Let's plug-in some good music before we dive right in! 🎶&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/playlist/2ZSmHGBNkFeMKDXOQ9FW77" width="100%" height="380px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;*thrill intensifies* 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  So what's the program all about? 🤔
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://education.github.com/students/experts" rel="noopener noreferrer"&gt;GitHub Campus Experts&lt;/a&gt; is a student leadership program by &lt;a href="https://education.github.com" rel="noopener noreferrer"&gt;GitHub Education&lt;/a&gt; through which one can learn the skills to enrich technology communities at their campus and improve the student developer experience. Campus Experts receive training and mentorship by the GitHub Education team, along with opportunities to join events by GitHub and those by Campus Experts; helping to connect and learn from impactful students and professionals in the tech industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Perks
&lt;/h3&gt;

&lt;p&gt;GitHub Education actively organizes webinars and and training sessions to improve our technical and leadership skills being a GCE. Apart from all the learning and networking opportunities, GitHub also supports us with swag and budget for our events, along with travel support for its premier global conferences - &lt;a href="https://githubuniverse.com/" rel="noopener noreferrer"&gt;GitHub Universe&lt;/a&gt; and &lt;a href="https://githubsatellite.com/" rel="noopener noreferrer"&gt;GitHub Satellite&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FPFlvbRv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FPFlvbRv.gif" width="161" height="81"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Program Requirements
&lt;/h3&gt;

&lt;p&gt;To become a GitHub Campus Expert, you'll have to make sure that you meet these three necessary requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Being at least 18 years of age and a student at a post-secondary university/institute.&lt;/li&gt;
&lt;li&gt;Being passionate for technology and community-building.&lt;/li&gt;
&lt;li&gt;Being at least one full year away from your graduation.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Road to GitHub Campus Expert 🛣️
&lt;/h2&gt;

&lt;p&gt;This is where I'll be sharing how I went through the process of becoming a GitHub Campus Expert. I've divided the process into 5 phases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 0: Getting the GitHub Student Developer Pack
&lt;/h3&gt;

&lt;p&gt;Before you can apply for the GCE program, you'll have to apply for the &lt;a href="https://education.github.com/pack" rel="noopener noreferrer"&gt;GitHub Student Developer Pack&lt;/a&gt; and get verified as a student.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.blog%2Fwp-content%2Fuploads%2F2014%2F10%2F4b0317bc-4599-11e4-8bc3-0ca4dd5223e8.png%3Ffit%3D2284%252C889" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.blog%2Fwp-content%2Fuploads%2F2014%2F10%2F4b0317bc-4599-11e4-8bc3-0ca4dd5223e8.png%3Ffit%3D2284%252C889" width="2284" height="889"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The GitHub Student Developer Pack benefits page is from where I came to know about the Campus Experts Program. The pack offers tools and services worth over $200k (yes, you read that right!) per student - for free, so that they could learn seamlessly through hands-on experience, without worrying about payments or subscription costs associated to them. Some of the popular premium tools and services include &lt;em&gt;Microsoft Azure, Unity, JetBrains, GitKraken, DigitalOcean, MongoDB&lt;/em&gt;, and many more!&lt;/p&gt;

&lt;p&gt;When I first applied for the SDP, my application got rejected due to the fact that the document I submitted as proof of being a student (my college ID-card) didn't have a valid-through date mentioned on it. Basically any recently-issued document with a date of issue/validity mentioned on it, works. After a few days, I applied for the SDP again (around October 2018) - this time with my college fee receipt as a proof, as it had issue-date mentioned on it. I got access to SDP after another week of applying for the second time. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You can learn more about how you can get verified as a student and get the developer pack without a college-issued email address, &lt;a href="https://github.blog/2019-07-30-how-to-get-the-github-student-developer-pack-without-a-student-id/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Phase 1: Application 📝
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwxlguiqsjbzqbvcor3ut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwxlguiqsjbzqbvcor3ut.png" alt="Alt Text" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have the access to the student pack, you can &lt;a href="https://apply.githubcampus.expert/" rel="noopener noreferrer"&gt;apply&lt;/a&gt; to become a Campus Expert by logging in with your GitHub account. The application only consists of one question - &lt;em&gt;'Why do you want to become a GitHub Campus Expert?'&lt;/em&gt;, where you'll have to share your passion for technology and communities, and how the program could benefit students at your campus. &lt;/p&gt;

&lt;p&gt;I don't exactly remember what all I wrote in my application, but I've seen a lot of people reach out telling me that their application got rejected due to unknown reasons, asking if they can apply again, and how they can improve their application. I'll provide some tips here that would (hopefully) be helpful during your application, and probably for your training phase too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There's no fixed, right or wrong answer to any question in the world, and this program is no exception; it's all about your experience and your passion for building and scaling tech communities. &lt;/li&gt;
&lt;li&gt;Your open source contributions won't be considered for this program; it's totally okay if you feel like you haven't contributed much to open source projects. &lt;/li&gt;
&lt;li&gt;If your application got rejected but you know that you did put in a lot of effort, there are good chances of YOU not being the reason behind the rejection. GitHub Education receives a lot of applications that makes it really tough to select many of them.&lt;/li&gt;
&lt;li&gt;There are chances that some folks from your campus might already be in the training (possibly without you knowing), thus reducing the odds of more people from the same campus to get shortlisted. Even though GitHub Education tries to select as many applications as possible, the bandwidth isn't unlimited.&lt;/li&gt;
&lt;li&gt;You can apply for the program again after a few months (once per semester); try to put in more efforts while filling in the application, in a more comprehensive way.&lt;/li&gt;
&lt;li&gt;In case you're unsure about how much to write, I'd say - better make it too lengthy than too short. Write your heart out, but be honest with everything you write.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fammas1bsjgt5dwg7efiu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fammas1bsjgt5dwg7efiu.gif" width="300" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note: A lot of people get confused upon receiving the confirmation and assume that they've become a Campus Expert already, which is not true. You'll have to complete further phases, including the training before you get entitled as a Campus Expert.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Phase 2: Training 🏋️
&lt;/h3&gt;

&lt;p&gt;And finally, this is where the fun begins! This is where you'd need a consistent enthusiasm. The training consists of 7 modules having questions focusing on soft-skills, technology, content and community. The training happens on GitHub, you can use any text editor to complete the modules, and then open a single pull request and submit all the modules in it by committing as you complete them. A few days upon opening the PR, someone from the GitHub Education team would join the conversation and provide an extensive review on your work with insightful suggestions on how you can improve. You'll have to keep updating your modules getting 2-3 iterations of reviews, and once your work is satisfactory, the PR will be merged by the reviewer. I started with my training in November 2018, and my work was reviewed and merged by &lt;a href="https://twitter.com/@_phzn" rel="noopener noreferrer"&gt;Kevin Lewis&lt;/a&gt; in January 2019. (woohoo! 🎉)&lt;/p&gt;

&lt;p&gt;I got 3 reviews in total; the first one in about a week, the second one took over a month, and the third one about three weeks. Those delays would be different in your case depending on the number of people being in the training at that time. It works in a queue system, so you'll have to wait for your turn to get a review each time. All that could take as little as a few weeks, to a few months (~3 months in my case), and as long as 6-8 months too! While being in the training phase, remember: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Patience combined with a little hard-work is the key to success.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fim6.ezgif.com%2Ftmp%2Fezgif-6-1fab6da27d6b.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fim6.ezgif.com%2Ftmp%2Fezgif-6-1fab6da27d6b.gif" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note: Please do not reach out to any Campus Expert asking to share their submissions. No Expert would ever share their work with you, as the modules are oriented towards your own community. They are designed in a way to help you become a better leader and understand your community better. We, the Campus Experts won't ever want to take away that learning opportunity from you, and you shouldn't too. You won't feel satisfied either if you do it in such unethical way - even if you become a Campus Expert by any fractional chance.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Phase 3: Screening Call 📲
&lt;/h3&gt;

&lt;p&gt;We're not done yet? 😮 Fret not - we're almost there!&lt;/p&gt;

&lt;p&gt;After completing the training, you'll have to go through a screening call with the Program Manager. At the time of writing this blog, the program is being managed by &lt;a href="https://twitter.com/juanpflores_" rel="noopener noreferrer"&gt;Juan Pablo Flores&lt;/a&gt;. My screening call was with &lt;a href="https://twitter.com/@Lieke2208" rel="noopener noreferrer"&gt;Lieke Boon&lt;/a&gt;, who was the PM at that time. The call was purely based on questions around me and the developer community at my campus. &lt;/p&gt;

&lt;p&gt;There are no fixed questions for this, and the PM may ask you anything to just know you and your community better. It's not an interview, so relax, just like this Corgi...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia3.giphy.com%2Fmedia%2FY4zsCSRItSruK52kGX%2Fgiphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmedia3.giphy.com%2Fmedia%2FY4zsCSRItSruK52kGX%2Fgiphy.gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 4: On-Boarding ⛳
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You've captured the flag. Now is the time to mount it!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Quite literally! This is when I posted a flag on the &lt;a href="https://githubcampus.expert/experts" rel="noopener noreferrer"&gt;map&lt;/a&gt;, created my &lt;a href="https://githubcampus.expert/marwahmanbir" rel="noopener noreferrer"&gt;profile&lt;/a&gt; on the Campus Experts Website and joined the community workspace (finally)!&lt;br&gt;
And guess who received these awesome swags! 😻&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj0wqpmv4f71k4ks6th98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj0wqpmv4f71k4ks6th98.png" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  My Journey being a Campus Expert
&lt;/h2&gt;

&lt;p&gt;I've been mentoring a developer community at my campus - the &lt;a href="http://bvcoe.acm.org/" rel="noopener noreferrer"&gt;ACM Student Chapter at BVP&lt;/a&gt;, while having served as the youngest Vice President there, and being a GitHub Campus Expert I've organized and contributed to 50+ sessions in just under a year including workshops, seminars, hackathons and conferences, and have given talks on Android Development, Open Source, Design and Community Building, creating an impact among few thousand people.&lt;/p&gt;

&lt;p&gt;The best thing about being a GitHub Campus Expert is the fact that you get to meet so many amazing and inspiring people, and the wider impact that you get to create. If I go in-depth talking about the events I've been a part of, the blog would take a long time to read. So I'll let the pictures speak for themselves here...&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnmf4mgl0uqlqekbnv6qd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnmf4mgl0uqlqekbnv6qd.jpg" width="800" height="254"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://www.facebook.com/acmbvp/posts/2150424198355417" rel="noopener noreferrer"&gt;Android Development Workshop Series&lt;/a&gt; by ACM BVP






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuaqsfy9vow7uht9o6yw8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuaqsfy9vow7uht9o6yw8.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://studentambassadors.microsoft.com/en-us" rel="noopener noreferrer"&gt;Microsoft Student Partners&lt;/a&gt; India Summit; where I met some of the most talented and inspiring people at Microsoft: &lt;a href="https://twitter.com/IamPablo" rel="noopener noreferrer"&gt;Pablo Veramendi&lt;/a&gt;, &lt;a href="https://twitter.com/iamparaspundir" rel="noopener noreferrer"&gt;Paras Pundir&lt;/a&gt;, &lt;a href="https://twitter.com/arkodyutisaha" rel="noopener noreferrer"&gt;Arkodyuti Saha&lt;/a&gt;, &lt;a href="https://twitter.com/apsmittal" rel="noopener noreferrer"&gt;Aparna Mittal&lt;/a&gt;, &lt;a href="https://twitter.com/pragatiogal" rel="noopener noreferrer"&gt;Pragati Ogal Rai&lt;/a&gt;, &lt;a href="https://twitter.com/vivek_sridhar" rel="noopener noreferrer"&gt;Vivek Sridhar&lt;/a&gt; and &lt;a href="https://twitter.com/abhi_tweeter" rel="noopener noreferrer"&gt;Abhishek Gupta&lt;/a&gt;, along with 250+ young and enthusiastic student developers. Check out the summit recap &lt;a href="https://www.youtube.com/watch?v=hP_uLktRNAw" rel="noopener noreferrer"&gt;here.&lt;/a&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn7csmdebjvi7yj6bw47d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn7csmdebjvi7yj6bw47d.jpg" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;
Hour of Code &lt;a href="https://www.facebook.com/acmbvp/posts/2075850882479416" rel="noopener noreferrer"&gt;2019&lt;/a&gt; and &lt;a href="https://twitter.com/manbirmarwah/status/1220375826551586817?s=20" rel="noopener noreferrer"&gt;2020&lt;/a&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fopf03ndvp42iqnzuu0l7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fopf03ndvp42iqnzuu0l7.jpg" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://twitter.com/manbirmarwah/status/1226536205447090178?s=20" rel="noopener noreferrer"&gt;Meetup&lt;/a&gt; with &lt;a href="https://twitter.com/ericabrescia" rel="noopener noreferrer"&gt;Erica Brescia&lt;/a&gt; - COO at GitHub, &lt;a href="https://twitter.com/msupernaut" rel="noopener noreferrer"&gt;Maneesh Sharma&lt;/a&gt; - Country Manager at GitHub India, fellow Campus Experts of Delhi/NCR and Linux Foundation Scholars; followed by a discussion on &lt;a href="https://twitter.com/GitHubIndia" rel="noopener noreferrer"&gt;GitHub India&lt;/a&gt; Launch.






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffosasqci8ll0n1nckmnz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffosasqci8ll0n1nckmnz.jpg" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
Devfest 2019 by &lt;a href="https://twitter.com/gdg_nd?lang=en" rel="noopener noreferrer"&gt;GDG New Delhi&lt;/a&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwqe6bx89awwkvdjrw0xo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwqe6bx89awwkvdjrw0xo.jpg" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://www.facebook.com/acmbvp/posts/2572457376152095" rel="noopener noreferrer"&gt;Hacktoberfest BVP&lt;/a&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0lisyou8hxrhw6igsx0p.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0lisyou8hxrhw6igsx0p.jpeg" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://githubsatellite.com/" rel="noopener noreferrer"&gt;GitHub Satellite 2020&lt;/a&gt;






&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmrwcz5fi0gi3x899c2p4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmrwcz5fi0gi3x899c2p4.jpeg" width="800" height="441"&gt;&lt;/a&gt;&lt;/p&gt;
Fireside Chat with GitHub India team at MLH Hackcon VIII






&lt;p&gt;Those were some of the memories that would be cherished forever! 🎉&lt;/p&gt;

&lt;p&gt;As we're heading towards the end, I would like to express my gratitude to &lt;a href="https://twitter.com/juanpflores_" rel="noopener noreferrer"&gt;Juan Pablo Flores&lt;/a&gt;, &lt;a href="https://twitter.com/@Lieke2208" rel="noopener noreferrer"&gt;Lieke Boon&lt;/a&gt;, &lt;a href="https://twitter.com/jna_sh?lang=en" rel="noopener noreferrer"&gt;Joe Nash&lt;/a&gt; and &lt;a href="https://twitter.com/@_phzn" rel="noopener noreferrer"&gt;Kevin Lewis&lt;/a&gt; for their admirable work in building this amazing student program being its backbone, and all the Campus Experts for their extensive work in supporting student developers to achieve more. A huge shoutout to all the wonderful Hubbers out there contributing to make GitHub a better place for millions of developers across the world! 🌎✨&lt;br&gt;
And that's all, folks! In case you have any further questions regarding the program or my experience with developer communities, you can reach out to me on &lt;a href="https://twitter.com/manbirmarwah" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://linkedin.com/in/manbirmarwah" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Oh, and wait a minute! If this blog ever helps or motivates you to become a GitHub Campus Expert OR to get associated with developer communities, always remember...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"With great power, comes great responsibility."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;✍🏻 &lt;em&gt;with&lt;/em&gt; ❤️ &lt;em&gt;by &lt;a href="https://twitter.com/manbirmarwah" rel="noopener noreferrer"&gt;Manbir&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>devrel</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Create a portfolio using React and GitHub Student Developer Pack</title>
      <dc:creator>Anupam Dagar</dc:creator>
      <pubDate>Sat, 23 May 2020 14:36:17 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/create-a-portfolio-using-react-and-github-student-developer-pack-482a</link>
      <guid>https://forem.com/gh-campus-experts/create-a-portfolio-using-react-and-github-student-developer-pack-482a</guid>
      <description>&lt;p&gt;In this blog we will be creating a Portfolio website using React and the tools provided by the GitHub Student Developer Pack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---r6C9FQ3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2400/1%2AD26biNOpvgqdn-1fFKEwzQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---r6C9FQ3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2400/1%2AD26biNOpvgqdn-1fFKEwzQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is the GitHub Student Developer Pack? Never heard of it.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Real-world tools such as cloud hosting services, domain names, specific software can be expensive for students. That’s why GitHub created the Student Developer Pack in partnership with other tech companies to give students free access to the best developer tools in one place.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;That’s great. What all is included in the Student Developer Pack?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Currently there are 23 services and tools included in the pack which can be used by a student. Some of the services are, 50$ Digital Ocean credits, a free Heroku Hobby Dev Dyno for two years, a free .me domain name, emailing via SendGrid with higher limits, private continuous integration builds through Travis CI and many more.&lt;/p&gt;


&lt;center&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PMCOgoEd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://miro.medium.com/max/625/1%2AAmI9wRbXrfIWGESx6eEiTw.gif"&gt;&lt;/center&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Awesome. How can I apply for it?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FuMgZDZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2380/1%2AKp5tUOLiziDxjqw8xmDZ8Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FuMgZDZs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2380/1%2AKp5tUOLiziDxjqw8xmDZ8Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To apply for the GitHub Student Developer Pack, you need to be a current student. If you are not a student, then you aren’t eligible for the pack. Apply for the student developer pack at &lt;a href="https://education.github.com/pack"&gt;https://education.github.com/pack&lt;/a&gt;. Click on get the pack and follow the onscreen requests. If you do not have a school-issued email address that ends in .edu, you will also need a valid school ID, or other proof of enrollment like a picture of your schedule, which will be reviewed by the GitHub team. It takes 24 to 48 hours for the request to get reviewed.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;A summary about what’s coming next&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In this blog, we will be creating a Portfolio website using React and the tools provided by the GitHub Student Developer Pack. For this, we will be using the free Heroku dyno from the Pack and free Namecheap domain. We will also use GitHub to push our code and deploy to GitHub pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eAWqZcBc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2378/1%2A5sLY9hk2xsZP1QkERn29HQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eAWqZcBc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2378/1%2A5sLY9hk2xsZP1QkERn29HQ.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Getting Started&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before we dive deep into the coding part, we will first install the required tools. I will be using the &lt;code&gt;yarn&lt;/code&gt; package manager. You can find instructions for installing yarn at &lt;a href="https://yarnpkg.com/lang/en/docs/install/"&gt;https://yarnpkg.com/lang/en/docs/install/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
1. React&lt;br&gt;&lt;br&gt;
Install and create a react app named portfolio using the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn create react-app portfolio
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;2. Heroku CLI&lt;br&gt;&lt;br&gt;
Execute the following command to install Heroku CLI on Ubuntu 16+ OS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="o"&gt;[&lt;/span&gt;https://cli-assets.heroku.com/install-ubuntu.sh]&lt;span class="o"&gt;(&lt;/span&gt;https://cli-assets.heroku.com/install-ubuntu.sh&lt;span class="o"&gt;)&lt;/span&gt; | sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Instruction for all other OS can be found at &lt;a href="https://devcenter.heroku.com/articles/heroku-cli"&gt;https://devcenter.heroku.com/articles/heroku-cli&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Make sure to login to Heroku CLI using &lt;code&gt;heroku login&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;3. Install gh-pages and fontawesome package using&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn add gh-pages  
yarn add @fortawesome/fontawesome-svg-core  
yarn add @fortawesome/free-solid-svg-icons  
yarn add @fortawesome/react-fontawesome  
yarn add @fortawesome/free-brands-svg-icons
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h1&gt;
  
  
  Coding The Portfolio
&lt;/h1&gt;

&lt;p&gt;We will be using Bootstrap 4’s resume template to build our portfolio. The template can be found here. &lt;a href="https://github.com/BlackrockDigital/startbootstrap-resume"&gt;https://github.com/BlackrockDigital/startbootstrap-resume&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Copying jquery and bootstrap&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Create directories &lt;code&gt;css&lt;/code&gt; and &lt;code&gt;js&lt;/code&gt; inside public folder and copy the following files to it from the downloaded template.&lt;br&gt;&lt;br&gt;
1. bootstrap.min.css&lt;br&gt;&lt;br&gt;
2. resume.min.css&lt;br&gt;&lt;br&gt;
3. bootstrap.bundle.min.js&lt;br&gt;&lt;br&gt;
4. jquery.easing.min.js&lt;br&gt;&lt;br&gt;
5. jquery.min.js&lt;br&gt;&lt;br&gt;
6. resume.min.js&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linking the added dependencies&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Open the &lt;code&gt;index.html&lt;/code&gt; inside the public directory and link the copied css and js as follows:&lt;br&gt;&lt;br&gt;
For CSS&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"%PUBLIC_URL%/css/cssfilename.css"&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;For Javascript&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"%PUBLIC_URL%/js/jsfilename.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Adding template to React Component based structure&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Bootstrap resume template needs to be split into components. Create a directory &lt;code&gt;Components&lt;/code&gt; in the &lt;code&gt;src&lt;/code&gt; directory where all the components will reside. We will split it into the following 7 Components:&lt;br&gt;&lt;br&gt;
1. Sidebar.js&lt;br&gt;&lt;br&gt;
2. Landing.js&lt;br&gt;&lt;br&gt;
3. Experience.js&lt;br&gt;&lt;br&gt;
4. Education.js&lt;br&gt;&lt;br&gt;
5. Skills.js&lt;br&gt;&lt;br&gt;
6. Interests.js&lt;br&gt;&lt;br&gt;
7. Awards.js&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using json as a user data store&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Create a json file inside the&lt;code&gt;src&lt;/code&gt; directory with the name &lt;code&gt;profileData.json&lt;/code&gt;. This file will hold the portfolio data for the user. The structure of json file is as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"landing"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"firstName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"First Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"lastName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Last Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"phoneNumber"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Phone Number"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"bio"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User's descriptive bio"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"email"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User's email"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"linkedin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User's LinkedIn"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"github"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"User's GitHub"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"experience"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"position"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Web Developer"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"organization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Company one"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"aboutWork"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Details about work here"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"fromDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Date of starting"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"toDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Ending Date"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"position"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"App Developer"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"organization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Company 2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"aboutWork"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Details about work here"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"fromDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Date of starting"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"toDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ending date"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"education"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"university"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"University or School Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"degree"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Major"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"gpa"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GPA"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"fromDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Date of start"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"toDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Date of completion"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"skills"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"skill1"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"skill2"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"interests"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"paragraphOne"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Descriptive detail about your interests for paragraph one"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"paragraphTwo"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Descriptive detail about your interests for paragraph two"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"awards"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"awardDetail"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Your first award"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"awardDetail"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Your second award"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="err"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Each &lt;code&gt;key&lt;/code&gt; of the json is named for the component of the data that is going to be used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modifying App.js&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
App.js is the main file which imports all the other components and defines the structure of the website.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Sidebar&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Sidebar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Landing&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Landing&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Experience&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Experience&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Education&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Education&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Skills&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Skills&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Interests&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Interests&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Awards&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./Components/Awards&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./profileData.json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;landingData&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;landing&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;experience&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;experience&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;education&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;education&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;skills&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;skills&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;interests&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;interests&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;awards&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;profileData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;awards&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;App&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Sidebar&lt;/span&gt; &lt;span class="nx"&gt;sidebarData&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;landingData&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;container-fluid p-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Landing&lt;/span&gt; &lt;span class="nx"&gt;landingData&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;landingData&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Experience&lt;/span&gt; &lt;span class="nx"&gt;experience&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;experience&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Education&lt;/span&gt; &lt;span class="nx"&gt;education&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;education&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Skills&lt;/span&gt; &lt;span class="nx"&gt;skills&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;skills&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Interests&lt;/span&gt; &lt;span class="nx"&gt;interests&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;interests&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m-0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Awards&lt;/span&gt; &lt;span class="nx"&gt;awards&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;awards&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;First, we import all the created components and the user’s data from the json created. In the constructor, we set the &lt;code&gt;state&lt;/code&gt; for each component with its respective data from the json. This data from the state will be passed to components as &lt;code&gt;props&lt;/code&gt;. All the components are then arranged per the Bootstrap’s template.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Sidebar.js&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Sidebar component consists of the code for the sidebar of the website. This is the complete &lt;code&gt;nav&lt;/code&gt; tag from the template. Before copying the code from the template, make sure to make it &lt;code&gt;jsx&lt;/code&gt; compliant. &lt;code&gt;class&lt;/code&gt; should be renamed to &lt;code&gt;className&lt;/code&gt; or you can use this &lt;a href="https://magic.reactjs.net/htmltojsx.htm"&gt;https://magic.reactjs.net/htmltojsx.htm&lt;/a&gt; to convert your HTML to JSX.&lt;/p&gt;

&lt;p&gt;In the constructor of every component, the data from the props will be assigned to a variable through which it will be added to its relevant position in the &lt;code&gt;jsx&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For the Sidebar component, this is done as &lt;code&gt;this.sidebarData = props.sidebarData&lt;/code&gt;. It is done in a similar way for all the other components.&lt;/p&gt;

&lt;p&gt;Replace all the hardcoded names and fields with the data from the JSON. To do this, reference your JSON data through the variable to which the props passed to the component are assigned. The syntax to reference a variable in JSX is referencing the variable within curly braces. So the first name of the user in the sidebar can be accessed as &lt;code&gt;{this.sidebarData.firstName}&lt;/code&gt;. All other data fields can be accessed and replaced by the data from the JSON in a similar way.&lt;br&gt;&lt;br&gt;
Find &lt;code&gt;Sidebar.js&lt;/code&gt; on GitHub at &lt;a href="https://github.com/Anupam-dagar/GitHub-Education-Portfolio/blob/master/src/Components/Sidebar.js"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Landing.js&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Landing.js is created in a similar way. The first section with &lt;code&gt;id&lt;/code&gt; &lt;code&gt;about&lt;/code&gt; is the needed landing section HTML. First the data from the props are loaded in the constructor and added on to the&lt;code&gt;jsx&lt;/code&gt; of the component.&lt;br&gt;
Find &lt;code&gt;Landing.js&lt;/code&gt; on GitHub at &lt;a href="https://github.com/Anupam-dagar/GitHub-Education-Portfolio/blob/master/src/Components/Landing.js"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Skills.js&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Skills of a user in the JSON data is a list of dictionaries. To add this to the &lt;code&gt;jsx&lt;/code&gt; the loaded data from the props is looped over using a &lt;code&gt;map&lt;/code&gt; and the data is inserted in the &lt;code&gt;jsx&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;skills&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;col-6&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;list-item&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;FontAwesomeIcon&lt;/span&gt; &lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;faCheckCircle&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;green&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;span&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ml-3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/span&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;where &lt;code&gt;this.skills&lt;/code&gt; is the skills data of a user loaded from &lt;code&gt;profileData.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In a similar way that other components are created. Run the server using &lt;code&gt;yarn start&lt;/code&gt; to see your portfolio at &lt;code&gt;http://localhost:3000&lt;/code&gt; in your browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Using GitHub Student Developer Pack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Using Namecheap to get free&lt;/strong&gt; &lt;code&gt;**.me**&lt;/code&gt; &lt;strong&gt;domain&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Go to &lt;a href="https://education.github.com/pack/offers"&gt;https://education.github.com/pack/offers&lt;/a&gt; and look for Namecheap. Get a free domain name by connecting your GitHub account on Namecheap.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AuSWOrTg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2379/1%2AlPv7UCVbhcjfeEavLXJb3Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AuSWOrTg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2379/1%2AlPv7UCVbhcjfeEavLXJb3Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Authorize Namecheap and then find your free domain. After getting your domain, go to your domains list and click on manage to manage your domain.&lt;br&gt;&lt;br&gt;
Click on &lt;code&gt;Advanced DNS&lt;/code&gt; tab and find &lt;code&gt;Host Records&lt;/code&gt;. Click &lt;code&gt;Add new Record&lt;/code&gt; button to add new records. Add the following records:&lt;/p&gt;


&lt;center&gt;
&lt;br&gt;
    &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;br&gt;
        &lt;tbody&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;Type&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;Host&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;Value&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;TTL&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;CNAME Record&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;www&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;githubusername.github.io&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;30&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;A record&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;@&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;185.199.108.153&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;automatic&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;A record&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;@&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;185.199.109.153&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;automatic&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;A record&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;@&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;185.199.110.153&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;automatic&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
            &lt;tr&gt;
&lt;br&gt;
                &lt;td&gt;A record&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;@&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;185.199.111.153&lt;/td&gt;
&lt;br&gt;
                &lt;td&gt;automatic&lt;/td&gt;
&lt;br&gt;
            &lt;/tr&gt;
&lt;br&gt;
        &lt;/tbody&gt;
&lt;br&gt;
    &lt;/table&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/center&gt;

&lt;p&gt;Replace &lt;code&gt;githubusername.github.io&lt;/code&gt; with your actual GitHub username. After this, your domain is ready to be used with GitHub Pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using GitHub to host your portfolio using GitHub pages.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
In the root directory of your project, initialize a &lt;code&gt;git&lt;/code&gt; repository as follows&lt;br&gt;&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;. Head over to GitHub and create an empty repository with the name &lt;code&gt;githubusername.github.io&lt;/code&gt;, here replace &lt;code&gt;githubusername&lt;/code&gt; with your actual GitHub username. Copy the git link for your repo and add it to your local git repo as follows&lt;br&gt;&lt;br&gt;
&lt;code&gt;git remote add origin &amp;lt;git link&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create a file with name &lt;code&gt;CNAME&lt;/code&gt; in the root of your directory and add your namecheap domain name to it, in the format &lt;code&gt;yournamecheapdomain.me&lt;/code&gt; and save it.&lt;/p&gt;

&lt;p&gt;Add 2 scripts &lt;code&gt;predeploy&lt;/code&gt; and &lt;code&gt;deploy&lt;/code&gt; to your scripts in &lt;code&gt;package.json&lt;/code&gt; as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;predeploy&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;yarn run build&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;deploy&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gh-pages -d build&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Note: If your repo is &lt;code&gt;githubusername.github.io&lt;/code&gt; then use the following script instead of above one. &lt;code&gt;githubusername.github.io&lt;/code&gt; repo can only be hosted from master branch and this will avoid the issue of you encountering readme instead of website on accessing the domain.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;predeploy&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;yarn run build&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;deploy&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gh-pages -d build -b master&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Both the scripts should be inside the &lt;code&gt;scripts&lt;/code&gt; key of &lt;code&gt;package.json&lt;/code&gt;. Also add a &lt;code&gt;homepage&lt;/code&gt; key to &lt;code&gt;package.json&lt;/code&gt; and set it to &lt;code&gt;http://yournamecheapdomain.me/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run &lt;code&gt;yarn run deploy&lt;/code&gt; to push your code to &lt;code&gt;gh-pages&lt;/code&gt; branch and host it from it. Head over to &lt;code&gt;http://yournamecheapdomain.me/&lt;/code&gt; to see your hosted portfolio.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U_yOCWgj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2386/1%2AwOp9IBTVqWsudVo0FYXcPA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U_yOCWgj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2386/1%2AwOp9IBTVqWsudVo0FYXcPA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Push your code to master by doing the following steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nt"&gt;-A&lt;/span&gt;  
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Push portfolio code"&lt;/span&gt;  
git push origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ILbJY1g9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2381/1%2AN5w4BE8vl8ulFf5BmmHDyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ILbJY1g9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2381/1%2AN5w4BE8vl8ulFf5BmmHDyw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hosting your portfolio on Heroku&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
With the GitHub Student Developer Pack, you get a free Hobby Dev Dyno for Heroku. Headover to Heroku on &lt;a href="https://education.github.com/pack/offers#namecheap"&gt;https://education.github.com/pack/offers&lt;/a&gt; and connect your GitHub account with Heroku.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ai_XzNQC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2378/1%2AnzjAu_BovGoJxxI_9RpFTA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ai_XzNQC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/2378/1%2AnzjAu_BovGoJxxI_9RpFTA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The process involves a manual verification by the Heroku team and may take a day or two to get approved. After the request gets approved, the app is ready to be deployed on your Heroku account with a Hobby Dev Dyno.&lt;/p&gt;

&lt;p&gt;To deploy your app, make sure to login to Heroku CLI. Also, add a new object inside &lt;code&gt;package.json&lt;/code&gt; as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"engines"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"npm"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"6.4.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"node"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"10.5.2"&lt;/span&gt;&lt;span class="w"&gt;  
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You can get your &lt;code&gt;node&lt;/code&gt; version by running &lt;code&gt;node -v&lt;/code&gt; and &lt;code&gt;npm&lt;/code&gt; version by running &lt;code&gt;npm -v&lt;/code&gt; in your terminal.&lt;/p&gt;

&lt;p&gt;Create a Heroku app by executing &lt;code&gt;heroku create appname&lt;/code&gt; where appname is your choice of appname for your portfolio. Commit your code if you haven’t yet and do &lt;code&gt;git push heroku master&lt;/code&gt;. Wait for Heroku to complete the deployment.&lt;/p&gt;

&lt;p&gt;Run &lt;code&gt;heroku open&lt;/code&gt; to open your app hosted on Heroku.&lt;/p&gt;

&lt;p&gt;That’s it, it’s as simple as that.&lt;/p&gt;

&lt;p&gt;GitHub Pages deployed version is at &lt;a href="http://anupamdagar.com/GitHub-Education-Portfolio/"&gt;http://anupamdagar.com/GitHub-Education-Portfolio/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Heroku Deployed version is at &lt;a href="https://studentpackportfolio.herokuapp.com/"&gt;https://studentpackportfolio.herokuapp.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete source code for the app is on GitHub at &lt;a href="https://github.com/Anupam-dagar/GitHub-Education-Portfolio"&gt;Anupam-dagar/GitHub-Education-Portfolio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>react</category>
      <category>devgrad2020</category>
      <category>octograd2020</category>
    </item>
    <item>
      <title>A Year as a GitHub Campus Expert ✨</title>
      <dc:creator>Vishal Das (he/him)</dc:creator>
      <pubDate>Tue, 12 May 2020 17:41:49 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/a-year-as-a-github-campus-expert-32ai</link>
      <guid>https://forem.com/gh-campus-experts/a-year-as-a-github-campus-expert-32ai</guid>
      <description>&lt;p&gt;Let me start off by saying, I was &lt;em&gt;simply&lt;/em&gt; hoping from one link to another on GitHub and landed on the Education site, what happened next is what this story is about 😊&lt;/p&gt;

&lt;p&gt;Last February I attended GitHub's first meetup in India, &lt;a href="https://twitter.com/kindavishal/status/1228279778630725633" rel="noopener noreferrer"&gt;The GitHub India Meetup&lt;/a&gt; with my fellow Campus Experts and Alumnus. I will forever cherish that event. During a random conversation with &lt;a href="//twitter.com/khushbooverma_/"&gt;Khushboo&lt;/a&gt;, I realized I had been a CE for a year! So here's my story behind that journey and probably something for you to take away as well 🙂&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The Pilot&lt;/em&gt;
&lt;/h3&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%2Fi%2F0giu86rg5sag8yvbzdoa.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%2Fi%2F0giu86rg5sag8yvbzdoa.png" alt="GitHub Campus Experts Landing Page"&gt;&lt;/a&gt;&lt;br&gt;
I am not sure but I think I applied for the program back in August 2018. I was a CSE sophomore student then (a very average one), by the time I was applying for this, I had already been rejected from various other student programs, internships, etc. at this point, I had overcome the fear of getting rejected \o/&lt;br&gt;
Did I feel overwhelmed while applying? No! I simply knew that I wanted to do this and was genuine about why I wanted to, in my application. If you're someone who feels they shouldn't apply because they aren't ready for it, well.. I made it! So can you :)&lt;br&gt;
It took around 2-3 months until I heard back from the team and like everyone applying, I understand the anxiety you face and the patience it takes during that period, it takes time to review that many (~1k or more) applications but it's worth it :)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The Launch&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;By this time I was used to check my mails more than the apps Haha! Yeah, that actually happens when you've applied for too many things 😅&lt;br&gt;
I remember this day very clearly, I woke up from my evening nap :p and checked the mail and there it was, I had been accepted for the training! Naturally, I didn't think this was true so I refreshed my mail, read the mail at-least a hundred time (not really, but you geddit). My happiness knew no bounds, for the first time ever, I had been accepted for a program and that too by GitHub! 🥳&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The Flight&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;As much excited as I was, I couldn't wait to begin the training and learn everything that the program had to offer me! Heads up, I learned a hell lot and I still do everyday from the community. For those of you who don't know what GitHub Campus Experts is about, in short it trains you to lead communities better in your campus. And you maybe able to relate it to the roles of DevRels in the corporate, they are gems for any organization and CEs are nothing less for their communities! I learned about Inclusion, Fear of Missing Out, Diversity, Safe Spaces, Accessibility and many more realities that I never knew existed! During the training, I had created a community in my thoughts, a community that was accessible to all, one that was inclusive to everyone while making it a safe space for everyone to take part in and made sure no one feels left out. As of today, that community goes by &lt;a href="https://twitter.com/MozPunjab" rel="noopener noreferrer"&gt;Mozilla Punjab&lt;/a&gt; 💖&lt;br&gt;
It took me around 4 months to complete the training and on-boarding &lt;em&gt;(this is variable, please don't compare with yours)&lt;/em&gt;, before I became a CE officially on February 2019 🎉&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The Journey&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;The training had not only helped me learn how communities work and how to make them better, but also helped me overcome imposter syndrome, get out of my comfort zone and meet new people, represent my community at other events, meetups, conferences, the list keeps extending with time! The best thing about being a CE are the people you meet and know.&lt;br&gt;
I've had times when I needed personal advises, suggestions or simply someone to help me out and the people there are always so welcoming and supporting that I never felt that I had to search another place for me, they're extremely sweet 🍰&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;The Future&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Since GCE happened to me, I have also been a Mozillian for more than a year now and recently became a &lt;a href="https://reps.mozilla.org/u/kindavishal/" rel="noopener noreferrer"&gt;MozRep&lt;/a&gt; officially! As of today, the community of my thoughts which began with a sweet bunch of 5 folks, now is a family of more than 100+ Mozillians and it just keeps growing! I keep studying the needs and struggles of my community members, solve them with the help of a beautiful team of people who started or joined me along in this journey and team up with fellow GCEs, Mozillians and other Community Leaders to bring our communities together to help a larger group of people and help bubble up the most marginalized group of people while helping everyone on the way!&lt;/p&gt;

&lt;p&gt;If you're looking to apply for GitHub Campus Experts, check &lt;a href="https://githubcampus.expert/" rel="noopener noreferrer"&gt;GitHub Campus Experts&lt;/a&gt;! Good Luck 😊&lt;/p&gt;

&lt;p&gt;Until next time folks! 👋&lt;br&gt;
Vishal&lt;/p&gt;

</description>
      <category>github</category>
      <category>community</category>
      <category>devrel</category>
      <category>opensource</category>
    </item>
    <item>
      <title>GitHub Satellite 2020 - My thoughts</title>
      <dc:creator>Iqrah Nadeem</dc:creator>
      <pubDate>Thu, 07 May 2020 16:41:47 +0000</pubDate>
      <link>https://forem.com/gh-campus-experts/github-satellite-2020-my-thoughts-oi0</link>
      <guid>https://forem.com/gh-campus-experts/github-satellite-2020-my-thoughts-oi0</guid>
      <description>&lt;h2&gt;
  
  
  Initial Thoughts
&lt;/h2&gt;

&lt;p&gt;Due to the current pandemic, all in-person conferences were either getting cancelled, postponed, or turning virtual. &lt;/p&gt;

&lt;p&gt;GitHub Satellite 2020 was no exception. &lt;/p&gt;

&lt;p&gt;This year, on May 6th 2020, for the first time ever, GitHub Satellite was hosted virtually and free to attend for everyone. &lt;/p&gt;

&lt;p&gt;As a GitHub Campus Expert, I had the opportunity to attend the live stream watch-party with my fellow CEs. The watch-party got a shoutout from the COO of GitHub, Erica Brescia, during closing remarks! &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%2Fi%2Fqdv3fsnkg63oe1dmdznc.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%2Fi%2Fqdv3fsnkg63oe1dmdznc.png" alt="Image of Erica Brescia giving a shoutout to GitHub CE watch party"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The event started off with an improvised DJ session live coded with Sonic Pi by Sam Aaron. I love when people mix other forms of art with code and this was a perfect example of it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Keynote Summary
&lt;/h2&gt;

&lt;p&gt;Soon the countdown for the keynote by the CEO of GitHub, Nat Friedman, began. A fun little skit of Nat pretending to be late for the conference and eating cheerios was fun to watch. I was in awe of the shelf that he had in the background. It was so well organized and the random GitHub swag made it even cooler.  &lt;/p&gt;

&lt;p&gt;The keynote started off with a recap of the announcements and work that had been done since last year's conference in Berlin, such as GitHub actions, GitHub for mobile, GitHub sponsors, and the acquisition of npm.  &lt;/p&gt;

&lt;p&gt;Another big milestone for GitHub was reaching 50 million sign-ups to the platform on Sunday, April 6th, 2020 at 4:06 pm PDT. The person turned out to be from Great Britain unless of course, they were using a VPN. &lt;/p&gt;

&lt;p&gt;Some data regarding the increased usage of the platform since January was also shared. This is where Nat said, "In this age of social distancing, people are turning to social coding" which truly struck a chord with me.&lt;/p&gt;

&lt;p&gt;It was then time to hear some exciting announcements for this year in four key areas; community, code, enterprise, and security. &lt;/p&gt;

&lt;p&gt;On a less technical note, I was very much fond of the icon designs throughout this presentation. They were intuitive but also had a fun cartoony style to it. &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%2Fi%2Fnv3rrkrwme1rmpe77083.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%2Fi%2Fnv3rrkrwme1rmpe77083.png" alt="Icons for four areas of announcements"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I dabbled a bit into icon design using Adobe Illustrator myself earlier last month and found it challenging to wrap my head around all the different tools that need to be used to create vector icons. Since then I have a lot more appreciation towards logos and icon design than I did before. &lt;/p&gt;

&lt;p&gt;Personally, if I am being completely honest, as a student developer, I did not care much about enterprise and security announcements. But the new features for community and code got me super excited! &lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Discussions
&lt;/h3&gt;

&lt;p&gt;With the community announcement, GitHub showed that it listens to its developers' needs and implement changes accordingly. &lt;/p&gt;

&lt;p&gt;GitHub Issues was added to help developers track work and co-ordinate with each other, GitHub PRs were implemented to help developers collaborate and review code, so this year hearing that the community needed a space to connect, ask open-ended questions and celebrate accomplishments, GitHub Discussions was introduced. &lt;/p&gt;

&lt;p&gt;I like to think of it as a Reddit thread for your repo. &lt;/p&gt;

&lt;p&gt;It has features to spotlight and upvote discussions, create dedicated links for CoC and have subcategories to better organize the discussion topics.&lt;/p&gt;

&lt;p&gt;This seems like a great way to de-clutter all the non-immediate-work related but still very important Issues that were probably open in your repo by enthusiastic contributors and users of the project. &lt;/p&gt;

&lt;p&gt;It is due to arrive at a repository near you this summer but you could have a go at it &lt;a href="https://githubsatellite.com/discussions" rel="noopener noreferrer"&gt;here&lt;/a&gt; in the &lt;a href="https://github.com/githubevents/satellite2020" rel="noopener noreferrer"&gt;GitHub Satellite 2020 repo&lt;/a&gt;.   &lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Codespace
&lt;/h3&gt;

&lt;p&gt;Coming to the next and most exciting announcement of all, Codespaces!&lt;/p&gt;

&lt;p&gt;I want to commend Nat on the way he introduced the concept of Codespace to the audience. &lt;/p&gt;

&lt;p&gt;He began with addressing the questions he's been asked many times before, "How do I become an open-source contributor?"&lt;/p&gt;

&lt;p&gt;The answer to that is first finding a project that you want to contribute to, and then getting it built and run on your local computer. &lt;/p&gt;

&lt;p&gt;Unfortunately, oftentimes than not, this first step is not as easy as it seems. Most of the time there are pre-requisites to be installed, paths to be configured and some of these could conflict with your existing configurations that could take a lot of time and energy to troubleshoot.  &lt;/p&gt;

&lt;p&gt;I have first-hand experience with this when I tried to become a coala contributor, a couple of years back for Hacktoberfest, and even though the community was responsive and ready to help me with my questions, it was super intimidating to set-up and run the project locally as a newbie developer, so I just gave up midway, feeling defeated and disheartened. &lt;/p&gt;

&lt;p&gt;Since then I have always hoped for a simpler set-up process, perhaps one that could be done simply with a click of a button, and that is exactly what Codespaces is! &lt;/p&gt;

&lt;p&gt;I shrieked at this announcement because it hits too close to home. &lt;/p&gt;

&lt;p&gt;But what is even better is that it is powered with Visual Studio Code, so it supports every VS Code extension right from the get-go. &lt;/p&gt;

&lt;p&gt;Considering it is a cloud-hosted dev environment, it is justified that it is not free to use (for now) and will be offered as a pay-as-you-go service. &lt;/p&gt;

&lt;p&gt;You can sign-up for the private-beta waitlist &lt;a href="https://github.com/features/codespaces" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would also like to say as a self-taught iOS developer that dislikes the fact that owning a MacBook is a prerequisite to starting your iOS coding journey, I hope the ideology behind Codespaces is adopted for XCode too that would lower the barrier to entry and empower developers that are not able to take part in iOS development just because they don't own a Macbook. &lt;/p&gt;

&lt;p&gt;I guess if I am dreaming big with hoping for a cloud-based XCode editor, I might as well put another wish out there that I thought of while watching the keynote. &lt;/p&gt;

&lt;p&gt;The best way I can think of describing it is, similar to how Discussions is the GitHub version of Reddit, it would be so cool if we have the GitHub version for YouTube/Twitch. &lt;/p&gt;

&lt;p&gt;The tech community is slowly growing on these social video streaming platforms but it is really hard to find them as they are still relatively small compared to other types of niches. &lt;/p&gt;

&lt;p&gt;So if there was a way for GitHub to provide a platform to upload videos in relation to specific repos and organisations that already exist in GitHub, I think it would be really helpful for developers and the tech video content creators to find each other. &lt;/p&gt;

&lt;p&gt;Moreover, if this could then be monetized the way YouTube and Twitch are, I consider that to truly be a win-win for the tech community. &lt;/p&gt;

&lt;h2&gt;
  
  
  Last Thoughts
&lt;/h2&gt;

&lt;p&gt;Anyway back to my last thoughts on GitHub Satellite 2020 keynote because I have already spent 3+ hours writing this first blog post. &lt;/p&gt;

&lt;p&gt;The keynote ended with another fun little act by Nat. &lt;/p&gt;

&lt;p&gt;In honour of the GitHub and VSCode team that worked so hard to make these announcements a reality, Nat proceeded to blow a ceremonial kazoo and executed a balloon drop that he set it up himself in his living room. &lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1258080414976978945-168" src="https://platform.twitter.com/embed/Tweet.html?id=1258080414976978945"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1258080414976978945-168');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1258080414976978945&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1258084430414929920-698" src="https://platform.twitter.com/embed/Tweet.html?id=1258084430414929920"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1258084430414929920-698');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1258084430414929920&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;If you would like to watch the keynote yourself or find out more information about the speakers, schedule and workshops, head over to the &lt;a href="https://githubsatellite.com/" rel="noopener noreferrer"&gt;official website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;All in all, I am glad I was able to watch the keynote live with fellow GitHub Campus Experts, especially because I met quite a few of them in-person last year in Berlin during Satellite 2019, so it was really nice to see and hear them during the watch-party. &lt;/p&gt;

&lt;p&gt;I guess I'll end this post by attaching a group picture from last year's event:&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%2Fi%2Fnmxzmgcm2snetnexwkhu.jpeg" 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%2Fi%2Fnmxzmgcm2snetnexwkhu.jpeg" alt="Group Photo GitHub Campus Expert - GitHub Satellite 2019 Berlin"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Other than that, stay safe, wash your hands, and I hope we all get through this pandemic soon.     &lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>conference</category>
      <category>keynote</category>
    </item>
  </channel>
</rss>
