Full-Stack Web Development Program

Transcription

Full-Stack Web DevelopmentProgramwith your Bildungsgutschein

Your web development journey begins now!In this information package, you will learn more about how to apply for an educationvoucher (Bildungsgutschein), the enrollment process, what it’s like to study withCareerFoundry, and what our programs have to offer.Getting a Bildungsgutschein1. General information about our certification for a Bildungsgutschein42. What is a Bildungsgutschein?43. How to apply for a Bildungsgutschein44. How to prepare for your appointment at the Agentur für Arbeit/Jobcenter.55. Checklist of documents to bring along56. I’ve received a Bildungsgutschein. What’s next?6Program Information1. What is the trial period?82. Program details83. Who is the program for and what are the requirements?94. What will you finish the program with?115. What kind of support is available?126. What is the structure and format of the program?137. Program plan148. Job Preparation Course219. What kind of projects will you be working on?2210. What will your portfolio look like?2311. Why choose CareerFoundry?24Page 2

Gettinga Bildungsgutschein

1.General information aboutour certification for a BildungsgutscheinAll providers who wish to offer programs with an educational voucher (Bildungsgutschein) onbehalf of the Agentur für Arbeit (employment agency) must first undergo a rigorous certificationprocess in order to check the quality of the programs offered. Only then are they included in theAgentur für Arbeit’s official list of program providers (Kursnet ).CareerFoundry has successfully completed this process in accordance with the guidelines setout by AZAV (Akkreditierungs- und Zulassungsverordnung Arbeitsförderung—Accreditationand Licensing Regulation for Employment Promotion), and, as a TÜV-certified educationalprovider, is permitted to accept educational vouchers in accordance with AZAV since 2016.You can view or download our official certificates here .2.What is a Bildungsgutschein?A Bildungsgutschein is an educational voucher provided by the Agentur für Arbeit /Jobcenterto registered German residents who are unemployed or soon to be unemployed. TheBildungsgutschein pays for the recipient to complete further educational training that will helpthem get back into the workforce.It’s important to note that the Bildungsgutschein is not a guaranteed benefit; the Agentur fürArbeit/Jobcenter is not obligated to grant one to all applicants. Visit the Agentur für Arbeit/Jobcenter in your area in order to discuss your individual case with an advisor. They will tell youwhether or not you meet the criteria for a Bildungsgutschein. Please note that only Agentur fürArbeit /Jobcenter advisors can determine your eligibility; CareerFoundry has no influence onthis.3.How to apply for a BildungsgutscheinTo check your individual requirements for a Bildungsgutschein, you can request an appointmentat the Agentur für Arbeit/Jobcenter by calling (toll free) 0800 4 555500, by using the Agenturfür Arbeit’s contact form , or visiting your local Agentur für Arbeit/Jobcenter. You will beassigned a contact person (advisor) who will assess your eligibility for a Bildungsgutschein.Page 4

4.How to prepare for your appointmentat the Agentur für Arbeit/JobcenterThe main aim of the Agentur für Arbeit/Jobcenter is to get you back into the job market as soonas possible. They are only willing to invest their money if they believe that their investment willbe worth it. It is therefore extremely important that you demonstrate (and emphasize):How highly motivated you are to complete further training and to findwork in the field. Don’t forget to communicate your passion and yourmotivation to gain new knowledge!The connection between your professional background and the programyou are going to take. Bring your updated resumé. Ideally, you will beable to show that you have already worked in a similar field and that youwant to develop your skills to be more competitive in the job market.The strong demand for the skills you will learn in the program. It’simportant to emphasize that the program will enable you to find a newjob quickly upon graduation.5.Checklist of documents to bring and what to doat your appointment at the Agentur für Arbeit/JobcenterIn addition to demonstrating your motivation and the value of the CareerFoundry program inhelping you find a job, you’ll need to bring and/or demonstrate:Proof that you are registered in Germany (Anmeldebescheinigung)Your up-to-date CVPersonalized program proposalRequest this from usThis application guide (view herein German)List of relevant job ads within the web development fieldYou can take along some screenshots from Monster, Xing, Indeed, LinkedIn orStartupJobs (to name a few)If you don’t speak German, it is advisable to bring someone along with you who cantranslate during the appointmentHighlight that the program takes 6 months (at a full-time pace of 40 hours per week)Page 5

Emphasize that you will have access to a dedicated Job Preparation Course. This courseis free of charge for both you and the Agentur für Arbeit/Jobcenter, and it will provide allthe guidance you need to refine your application packet, fine-tune your interview skills,and land that first web development job. If you complete the Job Preparation Course,you’ll also receive the support of a dedicated career specialist for up to six months aftergraduation.6.I’ve received a Bildungsgutschein.What’s next?Once you receive your Bildungsgutschein, please contact us atbildungsgutschein@careerfoundry.com to start your program admissionprocess Please note that this process can take up to 14 days.The admission process consists of several steps:Complete a Profile SurveyThis helps us to get to know you better and assess your suitabilityfor the program.Read and sign the Terms of ParticipationThis includes all the information and rules of the program and explainshow our collaboration with the Agentur für Arbeit/Jobcenter works.Complete an admissions testDesigned to help you and us to ensure that all program requirements havebeen properly understood and that you know what to expect.Complete an English test; the minimum required level of Englishis B1.2Send us a copy of the BildungsgutscheinWe will need to check in advance whether all the details are correct.Pass the trial periodPage 6

Program information

Our Full-Stack Web Development Program takes you from beginnerto professional and helps you successfully reintegrate into the jobmarket.Whether you have experience in design or not, our program guaranteesyou the skills necessary to thrive in this rapidly developing (and exciting!)industry.There’s no other web development program on the market that combinesa comprehensive curriculum, personalized mentorship, and studentfocused learning quite like CareerFoundry, and our graduates speak forthemselves!1.What is the “trial period”?The first two weeks of the program are considered a trial period.These two weeks will give you the chance to determine whether our program meets yourneeds and expectations.It is also a way for us to make sure that you’re a good fit for the program and that you’reable to cope with the expected workload. In order to pass the trial period, you’ll berequired to upload a given number of exercises (specified in your contract). If, by the endof the tenth working day, you have submitted the first five exercises, you will pass the trialperiod and be fully enrolled in the program. The program doesn’t officially start until thetrial period has been passed. If the required number of exercises are not submitted by therequired date, your enrollment in the program will be automatically cancelled.Please note that cancellation of your enrollment may lead to your unemploymentbenefits being cancelled or temporarily paused. Moreover, it will disqualify you fromfuture enrollment in our programs with a new Bildungsgutschein.Page 8

2.Program detailsFull-time programProgram number(Maßnahmenummer)962 / 72 / 2021Period of validity of the program18.01.2021 - 17.04.2024Occupational identificationnumber (Berufskennzahl)43412Program duration6 months / 118 working daysWeekly working hours40 working hoursMo-Fr 9-17 (onlineattendance is compulsory)Tuition4799 Euro / 5,10 Euros per hourProgram languageEnglish(minimum required level B1.2)Program locationOnline onlyStarting datesEvery two weeks, always on aMonday (if the Monday falls on apublic holiday, the program willstart on Tuesday)3.Who is the program forand what are the requirements?No need for a math degree here—if you can type, you can code! Let CareerFoundry be your guideand safety net as you take that first step into the land of symbols and numbers.Page 9

Our Full-Stack Web Development Program is the perfect solution for those brand-new to development. We’vetaken artists, secretaries, and even law enforcement personnel and helped them go from zero experience indevelopment to creating small personal web pages, and on to large ecommerce sites and apps.In terms of hardware, you’ll need a computer or laptop (Mac, Windows or Linux). For the duration ofthe program, you’ll have access to free trials and discounts for all the tools you’ll need to complete yourprojects and get hands-on web development experience.You’ll mainly be working with a text editor. A text editor is often considered to be a programmer’s mostessential tool, and you’ll use it to write and edit your code. We suggest using text editing programs suchas Atom, VSCode, and Sublime Text—which are all free to use. Among other tools, you’ll also use GoogleChrome, GitHub, Repl.it, CodePen, Node.js, PostgreSQL, React, React Native, and Angular.Google ChromeA lot of testing, especially on thefrontend side of things, can bedone within Google Chrome’s WebInspector. This is an invaluable toolfor previewing changes you make toyour own sites and apps, as well as fortaking a peek at how sites on the webare coded.Repl.itRepl.it offers a free, collaborative,in-browser integrated developmentenvironment (IDE) to code in morethan 50 programming languageswithout having to spend time onsetup. Our students will be able touse the repls that are integrated to ourplatform to practice coding right afterlearning a new concept.GitHubGitHub is a platform for hostingcode and collaborating on webdevelopment projects. You don’thave to be an expert programmer inorder to navigate and benefit fromthe many great features that GitHuboffers. Although it isn’t free, GitHubdoes offer free plans for open-sourceprojects. And for the purpose andscope of this course, you can use afree version of GitHub.Node.jsNode.js is a runtime environment thatallows developers to write JavaScriptcode to interact with a server.Page 10CodePenCodePen is a bit like a playground fordevelopers. Anyone online can createand share pieces of code for otherdevelopers to read and play aroundwith. This is especially useful forthose just starting out in development,as it provides a place where you cantest out code and immediately see theresults.ReactReact is a JavaScript library forbuilding user interfaces. It allows youto create interactive UIs directly inJavaScript!

AngularAngular is an open source webapplication framework anddevelopment platform. It allows youto create efficient, appealing, andadvanced single-page applications.React NativeReact Natve is an open source mobileapplication framework. It lets youdevelop applications for Android,iOS, and Web by allowing you to useReact along with native platformcapabilities.PostgreSQLPostgreSQL is a relational databasesystem that allows you to create,edit, and manipulate your owndatabases on a server. Databasesare an essential part of backendprogramming!4.What will you finish the program with?By the end of the program, you’ll know how and when to use industry-standard tools including Atom,GitHub, Node, React, Angular, React Native, and Bootstrap—just to name a few. You’ll also havenumerous technical skills under your belt such as HTML, CSS, JavaScript, API building, server-sidedevelopment, client-side development, test-driven development, progressive web apps, native appdevelopment, and more. To complement the technical aspects of the program, you’ll explore Agileproject management, teamwork and collaboration, developer documentation, code reviews, and theways in which you could contribute your unique work and perspective to the tech community. Theseadditions to your skillset will impress employers and clients alike.You’ll be qualified for jobs in full-stack JavaScript development. Most of our graduates find jobs asjunior web developers, but some find jobs in other areas such as web design, project management,coaching and teaching, frontend development, product design, product management, projectmanagement, frontend web development, software development, engineering, production, softwareanalysis, testing, interaction design, and consultancy.Page 11

5.What kind of support is available?As part of the program, you’ll receive support from your dedicated tutor and mentor, your studentadvisors, the Bildungsgutschein team, your career specialist and a community of fellow learners.Your tutorStudent Advisorsis a program expert who actively works in the fieldand provides individual feedback on your programassignments. CareerFoundry tutors are programexperts who work in the field; responsible forcarefully evaluating your submissions and ensuringyou truly understand each exercise. They knowthe curriculum backward, forwards, and insideout—and they’re ready to support you. As youprogress throughout the program, your tutor willprovide constructive feedback within 24 hours—highlighting where you can improve, and whereyou’re on the right track.ensure you have the best possible programexperience. You can contact them through themessage board on your dashboard and theyare there to answer any questions you haveabout your program.Your mentoris a seasoned and influential professionalthat we’ve hand-picked to provide industryinsights, conduct video reviews of your portfolioprojects, and give advice to help you forge yournew career. You can schedule video calls withyour mentor over the duration of the program,making them your personal introduction to acareer in tech. CareerFoundry mentors are alsowell-versed in how to educate. They’ve walkedthe path before you, grappled with impostersyndrome, and learned from their mistakes.Above all, they know first-hand how challenginga career change can be. As senior expertsacross a myriad of sectors, they provide you withinvaluable insights into working in your chosenfield and ensure that the projects you chooseare aligned with your career goals. Together,you’ll create a portfolio that will tell your story—and help you stand out in the job market.The Bildungsgutschein teamis responsible for the administrativeaspects of your program as well as for thecollaboration with the Agentur für Arbeit/Jobcenter. You can reach out to them ifyou get sick, if you can’t work regularly onthe program, or for any other issue relatedto the Agentur für Arbeit/Jobcenter. Youcan contact them anytime via email atbildungsgutschein@careerfoundry.com.Career SpecialistsIf you opt into the Job Preparation Course,you’ll also have a dedicated career specialistwho will provide individualized feedbackfor your job search strategy and applicationpackage. Your career specialist will answerall your questions throughout the Job PrepCourse, and be there to support and adviseyou on how to get the most out of your jobsearch. The support they offer will helpyou develop professional and job searchskills that will benefit your career in webdevelopment—beyond just your first role as aweb developer.Fellow studentsAs a CareerFoundry student, you’ll be part of an extensive community of fellow students, both duringthe program and after graduation. You can reach out to this community on Slack to discuss yourcoursework, organize meetups, or find a study buddy. As a part of our graduate community, you’llhave lifetime access to this community, so you can keep in touch with your fellow graduates.Page 12

We encourage students to work with a study buddy throughout the program—and we’ll evenhelp you find one! Working with a peer will make your studies easier, more successful, and moreenjoyable than working alone. Study buddies motivate and keep each other accountable, discussprojects, help each other understand specific concepts, share knowledge, and give each otherfeedback. Our students also regularly organize in-person meetups, where they network and shareexperiences.6.What is the structure and format of the program?The program provides a 100% asynchronous, online learning experience that is flexibly-paced—so while there is an overall completion deadline, you get to decide how to fit your study hoursaround other obligations.Our curriculum is built with the beginner in mind, but it is comprehensive and rigorous—createdin-house by our team of curriculum designers, and authored in collaboration with industryexperts. The curriculum is hands-on and project-based, meaning that everything you do duringthe program will contribute to the development of your professional portfolio, which you’ll use toshowcase your best work to potential employers.Our learning platform will guide you through the reading materials, supplementary videos, andassignments, but you’ll have plenty of support along the way. Your dedicated tutor and mentorwill be there to answer questions, offer guidance, and provide rapid and extensive feedback (aswell as final approval) on all of your projects. There is no final exam: the program is counted ascomplete once all the exercises have been reviewed and approved by your tutor and mentor. Youwill be able to download your certificate of completion directly from the dashboard.It’s important to keep in mind that the program is intensive and very time consuming. Onlinepresence is mandatory, as is the weekly submission of the required tasks as set out in yourcontract.Please note that the course language is English, so all material as well as communication withinthe CareerFoundry community is in English.We are legally obliged to report back to the Agentur für Arbeit/Jobcenter (Regelungen zurZusammenarbeit mit den Agenturen) and are therefore constantly in touch with your advisor. Wewill check on a weekly basis to make sure that you are working on the program and report backto your advisor.If you’re curious about how it will all look, take atour of the CareerFoundry learning dashboardPage 13

7.Program planThe Full-Stack Web Development program is divided in two parts:Intro to Frontend DevelopmentYou’ll learn HTML and CSS, the building blocks of the web, as you work on creating your ownresponsive portfolio website from scratch.1. Getting Started withWeb DevelopmentDiscuss the role of a web developerPractice project planning with Agile2. HTML and the WebExplain the basic structure of the weband how the internet works and createan HTML document3. HTML SemanticsPractice commenting and codeindentationWork with hyperlinks to accessinternal and external pagesImplement HTML semantics as well asform and graphic elements4. Advanced HTML & Web AccessibilityApply advanced HTML attributes forweb accessibilityUse ARIA to create dynamic content5. CSS & the Look of Your WebsiteApply basic CSS styling to a web page6. Advanced CSS LayoutCreate a CSS grid layout for a webpage7. Advanced Topics in CSSApply advanced CSS styling suchas transitions and animations to awebpage8. CSS Preprocessors & CSS VariablesIntegrate CSS variables to ensurebrowser supportDiscuss how CSS pre- and postprocessors work9. Git & Version ControlPractice version control with Git10. Code Quality, Testing,and Web HostingUtilize code linting to prevent errorsand ensure consistent code qualityConduct cross-browser testingPage 14

Full-Stack Immersionis the second part of the program where you’ll enter the world of functionalprogramming as you take on your first programming language: JavaScript. It consistsof six Achievements, based on 49 Tasks.Achievement 1 - Introduction to JavaScriptYou’ll use JavaScript to build a simple client-side JavaScript application that cancommunicate with an external API.1.1 What is JavaScript?Describe the structure of JavaScriptcode and the DOMPractice working with variables,mathematical expressions, andother basic programming languageconcepts1.2 JavaScript Basics Part 1Discuss JavaScript primitive andcomplex data types as well as howand why they’re usedPractice creating and adding data toarrays1.3 JavaScript Basics Part 2Practice JavaScript basics withconditionals and loops1.4 JavaScript Functions Part 1Establish the fundamentals offunctions in JavaScript1.5 Javascript Functions Part 2Discuss core principles of functionalprogramminge1.6 DOM InteractionCreate fluid user interfaces throughDOM manipulationApply event handling for webinteractivity and accessibilityPage 151.7 APIs, Ajax & Asynchronous BehaviorUse Ajax to send and fetch dataasynchronously from an external API1.8 Complex UI Elements with JSImplement UI patterns suchas form validation, modals, ortouch interactions in a JavaScriptapplication1.9 Introduction to jQueryEvaluate JavaScript libraries,including jQuery, for appdevelopmentDifferentiate libraries, plugins, andframeworks1.10. Bootstrap & UI LibrariesBuild responsive application layoutsusing Bootstrap1.11. Performance & DebuggingEvaluate types of JavaScriptperformancePractice debugging JavaScript code

Achievement 2 - Server-Side Programming and Node.jsDiscover how you can use JavaScript on the server-side using Node.js. Using yourcommand line, you’ll work with web server frameworks, REST architecture, anddatabases as you build an API from scratch.2.1 Intro to Server-Side ProgrammingExplain the difference betweenserver-side and client-sidedevelopmentNavigate the terminal with basiccommandsPrepare your developer environmentfor programming using Node.js2.2 Node.js ModulesUse modules to complete tasksrelevant to building an API, such ascreating a web server and parsing aURL2.3 Packages & Package ManagersDescribe how to use packagemanagers when working on serverside projectsInstall necessary packages forbuilding an API with Node.js2.4 Web Server Frameworks & ExpressRoute HTTP requests using a webserver frameworkDescribe how Express can simplifythe process of building an API usingNode.js2.5 REST & API EndpointsDiscuss the key principles behindPage 16RESTful architecture and CRUDfunctionalityDefine and document endpoints for acomplete REST API2.6 Relational Databases & SQLDescribe how a database interactswith a web applicationDesign a database using a databaseschemaCreate a relational database usingSQL2.7 Non-Relational Databases &MongoDBCreate a non-relational databaseusing MongoDBCompare SQL and NoSQL databases2.8 The Business Logic LayerIntegrate a database with an APIusing business logic2.9 Authentication & AuthorizationApply principles of authentication toREST API2.10. Data Security, Validation, & EthicsModify API to align with data securityregulations

Achievement 3 - Client-Side Programming & ReactLearn how to use JavaScript to build powerful interfaces for server-side systems. You’llbuild the frontend for your very own API using cutting-edge tool: React.3.1 Intro to Frameworks & LibrariesDefine the principles of MVCarchitectureEvaluate the benefits of usingdifferent frameworks and libraries3.2 Building with JavaScriptDiscuss the benefits of React thatmake it suitable for your applicationPrepare a product for execution usingbuild tools3.3 React Components & the Virtual DOMDistinguish between States and Propsof React ComponentsCreate low- and high-levelcomponents using componentlifecycle methods3.4 Advanced ReactCompare how to use classcomponents and functioncomponents throughout a ReactPage 17applicationApply the principles of good designto a React application using UIframeworks3.5 Client-Side App RoutingCompare hash-based and state-basedroutingImplement methods of authenticationin React apps3.6 Introduction to ReduxDescribe the data lifecycle in aRedux applicationPrepare your app for conversion toRedux3.7 React ReduxUse React Redux to implement theFlux design pattern in a React app

Achievement 4 - Testing in the Development ProcessExplore test-driven development as you build a progressive web app with native-likefunctionality for your portfolio. You’ll also learn complex JavaScript topics such asdata visualization.4.1 Test-Driven Development & TestScenariosDiscuss the core principlesand purposes of testing in thedevelopment processCompare test-driven developmentwith behavior-driven developmentGenerate application specifications toprepare for testingTranslate user stories into projectoutcomes4.2 Serverless FunctionsAnalyze appropriate use cases forserverless development for differenttypes of development projectsCreate a serverless deploymentpackage4.3 Unit TestingAnalyze use cases for unit testsScript unit tests for the meetupapplication4.4 Integration TestingAnalyze use cases for integrationtestsIntegrate real data from an API into aweb appPage 184.5 User Acceptance & End-to-EndTestingEvaluate the pros and cons ofacceptance testing and end-to-endtestingImplement acceptance testing in anapp4.6 Continuous DeliveryDiscuss the impact of continuousintegration and delivery practicesIntegrate an APM tool into thedevelopment of a web application4.7 Object-Oriented ProgrammingDefine the fundamentals of OOP anddifferentiate them from FPImplement a feature in your web appusing OOP methodology4.8 Progressive Web ApplicationsExplain the principles behindprogressive web applicationsImplement progressive functionalityinto an existing app4.9 Data VisualizationSupplement a web app with datavisualization features in the UI

Achievement 5 - Native App Development & React NativeLearn about native JavaScript applications while building an additional project foryour portfolio: a native mobile app.5.1 Building Native Applications withJavaScriptArticulate the distinction betweennative applications and other (web)application modelsEstablish a framework, layout, and UIelements for a native app5.2 Chat UIs & AccessibilityImplement an accessible chat UI fora native application5.3 Real-Time Applications & DataStorageCompare different possibilities ofPage 19implementing real-time applicationsUse Firebase to set up a real-timedatabase5.4 Storing Data on the Client SideImplement client-side data storage inReact Native using asyncStorageDescribe possible solutions forstoring data on the client-side5.5 Communication FeaturesImplement communication featuresinto a native applicationImplement modern JavaScript APIsinto an application

Achievement 6 - Collaboration & DocumentationMaster the key skills required to effectively collaborate with a wider product team,such as communicating requirements and unpacking design assets, all the whilecompleting a project in Angular, a popular JavaScript framework.6.1 Collaboration & Project ManagementDiscuss techniques for collaboratingwith designersDiscuss Agile project managementtechniques and common materialsInterpret user stories to determineproject requirements and story point6.2 Introduction to AngularCreate a basic app using Angular andTypeScript6.3 Advanced Angular Part 1Apply advanced Angular concepts toyour app6.4 Advanced Angular Part 2Define the routes your Angular apprequiresWrap up your Angular appPage 206.5 Documentation & HandoffsExplain the role of documentation indevelopment projects and the handoff processImplement code linting andcommenting when finalizing an appPrepare all necessary documentationfor an application6.6 Providing Constructive FeedbackCommunicate effectively andrespectfully when collaborating ondevelopment projects6.7 Contributing to the Tech Community& BeyondDiscuss best practices and ethicalconsiderations for developersCurate project deliverables forportfolio

8.Job Preparation CourseOur Job Preparation Course is included in the Full-Stack Web Development program for free andhas been designed to help you with all aspects of finding a job in the field. Once you’re halfwaythrough the course, you will be granted access to the Job Preparation Course. You’ll also beassigned a career specialist who will help you plan and prepare for your job search, evaluate jobapplications, prepare for interviews, and refine your LinkedIn profile and networking strategy.You’ll work with your career specialist alongside your studies for the second half of the program,and if you complete the Job Preparation Course, you’ll be entitled to continued career supportfor another six months after the program has ended.The Job Preparation Course consists of two stages (we call these Achievements), each made upof 12 Tasks.Achievement 1Curation of Your Application PackageCrafting your mission statementShowcasing your process and skillsDeveloping your career change strategythrough storytellingDefining your elevator pitch, resumeand LinkedIn summaryCreating your professional resumeEstablishing your professional brandBuilding your professional portfolioAchievement 2Applying for Jobs and BeyondBuilding your networkPreparing for interviewsSearching for new jobsPlanning your professional developmentApplying for jobsPage 21

9.What kind of projects will you be working on?You’ll have the opportunity to add eight new projects to your portfolio as part of ourFull-Stack Web Development program. In Intro to Frontend Development, you’ll build aportfolio site using HTML and CSS; in Full-Stack Immersion, you’ll build a total of sixdifferent apps, each with different functionalities, spread across seven projects:Build a small web application with HTML, CSS, and JavaScript that loadsdata from an external API and enables the viewing of data points in detail.For a mini-project, build an application using jQuery.Build the server-side component of a movie information web app using

learning a new concept. GitHub GitHub is a platform for hosting code and collaborating on web development projects. You don’t have to be an expert programmer in order to navigate and benefit from the many great features that GitHub offers. Although it isn’t free, GitHub does offer fre