├── _config.yml ├── images ├── cpbm.jpg ├── rules_same_line.png ├── rules_use_snippets.png ├── rules_nametag_config.png ├── rules_nametag_filled.png ├── rules_same_line_good.png ├── rules_edit_mistakes_bad.png └── rules_edit_mistakes_good.png ├── prerequisite.md ├── README.md ├── stage1task.md ├── introduction.md ├── task2.md ├── getting-started.md ├── FAQ.md ├── coc.md ├── git.md └── html.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /images/cpbm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/cpbm.jpg -------------------------------------------------------------------------------- /images/rules_same_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_same_line.png -------------------------------------------------------------------------------- /prerequisite.md: -------------------------------------------------------------------------------- 1 | ## Prerequisite 2 | 3 | Technologies to Know: 4 | 5 | * [Git](git.md) 6 | * [HTML](html.md) 7 | --- -------------------------------------------------------------------------------- /images/rules_use_snippets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_use_snippets.png -------------------------------------------------------------------------------- /images/rules_nametag_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_nametag_config.png -------------------------------------------------------------------------------- /images/rules_nametag_filled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_nametag_filled.png -------------------------------------------------------------------------------- /images/rules_same_line_good.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_same_line_good.png -------------------------------------------------------------------------------- /images/rules_edit_mistakes_bad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_edit_mistakes_bad.png -------------------------------------------------------------------------------- /images/rules_edit_mistakes_good.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnginternship5/HNGInternship/HEAD/images/rules_edit_mistakes_good.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hotels.ng Internship 5.0 2 | 3 | 4 | 5 | Table of Contents 6 | ================= 7 | * [Introduction](introduction.md) 8 | * [Prerequisite](prerequisite.md) 9 | * [Getting Started](getting-started.md) 10 | * [Code of Conduct](coc.md) 11 | * [Task 1](stage1task.md) 12 | * [Task 2](task2.md) 13 | * [FAQ](FAQ.md) 14 | -------------------------------------------------------------------------------- /stage1task.md: -------------------------------------------------------------------------------- 1 | sign up for GitHub. Create a personal repository. Commit a file. Pull the file. Change stuff. Commit again. Check that you have a profile image set here. If you do not have a blog, start one on blogspot, WordPress, medium or anywhere else you want. After all is complete, add this icon to your status here: :hatching_chick: by the time we start, all those without the above will not start with us. 2 | -------------------------------------------------------------------------------- /introduction.md: -------------------------------------------------------------------------------- 1 | ## Introduction 2 | 3 | > The HNG internship is a 3-month remote internship designed to find and develop the most talented software developers. 4 | 5 | Please invite others who are interested in learning to code. Using this link: [https://bit.ly/join_hnginternship5](https://bit.ly/join_hnginternship5) 6 | 7 | Note that this link will be closed at 12 noon on 1st April, 2019. 8 | 9 | > Please do invite others who may be interested in the internship 10 | 11 | Notice: 12 | 13 | *Setting up your profile information such as, name, display name, what you can do, (of course that will change as soon as you learn on), profile image, phone number and status is very important.* 14 | 15 | 16 | **Please set your profile picture - we will disable all users without profile pictures** 17 | --- 18 | 19 | ## Learning Tracks 20 | 1. Machine Learning 21 | 2. Design Track -------------------------------------------------------------------------------- /task2.md: -------------------------------------------------------------------------------- 1 | Join the #design-stage1 channel. Use Figma to design yourself a home page. Your page must follow a particular format: Your picture on the top left corner. Links below your picture About, Blog, Projects. Below that are three icons with links to your social media. On the right (separated by a line from the left section), will be some welcoming information for you. *Everyone* will need to do this. The mentors will give you feedback on your design, however, I will be the final judge. Till your design is accepted, you cannot start the internship. Pay attention to alignment, colors and other important parts of design. 2 | 3 | If you are done with your git task and your design task, then please submit both together to #promotion channel, and a mentor will advance you to stage 1. The design task is a screenshot of what you did in Figma. The git should be a link to your public git repo with some file in there showing that you edited it. 4 | -------------------------------------------------------------------------------- /getting-started.md: -------------------------------------------------------------------------------- 1 | ## Getting-Started 2 | 3 | Here is how to get started after Joining the Internship Slack Channel 4 | 5 | - Click HNG Internship 5 up the top and click `Profile & Account`: 6 | 7 |  8 | 9 | - When your profile pops up, please fill out **Full Name**, **Display Name**, **Profile Photo** and, **Phone Number**. 10 | 11 |  12 | 13 | - Join **#getting-started** for starter instructions and **#announcements** for updates. 14 | 15 | - Introduce yourself 16 | 17 | ## Rules 18 | 19 | Do not **@channel**, **@here**, **@everyone** in **#general**. 20 | - Do not change or erase channel subject 21 | - Post relevant materials and resources in #resources *ONLY* 22 | - Respect each other and the tools we use. 23 | - Don't upload copyrighted content, unless it is freely available from the publisher. 24 | - If you have any issue, please contact any mentor. You can find them with a :star: beside their handles. 25 | -------------------------------------------------------------------------------- /FAQ.md: -------------------------------------------------------------------------------- 1 | ## Using Code Snippets 2 | 3 | When pasting large blocks of code, use snippets instead of pasting a wall of text. 4 | 5 |  6 | ## Editing Messages 7 | 8 | If you make a mistake when typing a message, simply press the `up arrow` in Slack to fix your mistake. 9 | 10 | > :x: Bad Example - Don't fix things on a new line 11 | > 12 |  13 | 14 | 15 | > :white_check_mark: Good Example - Editing previous message 16 | > 17 |  18 | 19 | ## Google first before asking someone? 20 | 21 | Asking someone for help should not be your first course of action. Search for solutions yourself first before asking some. If you don't, expect to be [lmgtfy'ed](http://bfy.tw/QI). 22 | 23 | ## Do you keep your chat on the same line where appropriate? 24 | 25 | Slack chat is not the same as having an SMS conversation with 13 year olds - Keep things together where possible and don't split sentences across lines. 26 | 27 | > :x: Bad Example - Don't span things across multiple lines 28 | > 29 |  30 | 31 | > :white_check_mark: Good Example - Saying something in the same line 32 | > 33 |  -------------------------------------------------------------------------------- /coc.md: -------------------------------------------------------------------------------- 1 | HNG Internship Code of Conduct 2 | =========================== 3 | 4 | Welcome! 5 | -------- 6 | 7 | The current admins are: 8 | * Mark Essien - @Mark Essien 9 | 10 | HNGInternship is dedicated to providing a harassment-free experience for everyone, regardless of gender, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of participants in any form. Sexual language and imagery is not appropriate for any chat topic. Participants violating these rules will be expelled from the group at the sole discretion of the group administrators. 11 | 12 | 13 | Behaviour: 14 | ---------------- 15 | 1. Do not @channel, @here or @everyone in #general. 16 | 2. Respect each other and the tools we use.! 17 | 3. Don't upload copyrighted content, unless it is freely available from the publisher. 18 | 4. If you have an issue, contact any mentor. You can find them with a :star: beside their handles 19 | 20 | Logs and Records: 21 | ----------------- 22 | 23 | **Please be mindful that things you say here may at some point become public**. We cannot prevent people from screencapping or otherwise logging this slack. We also can't guarantee that every member's login credentials and logged-in devices are secure. Files uploaded here can be downloaded by anyone with a login. Please exercise caution and refrain from sharing sensitive information that could harm you or others if it became public. 24 | 25 | Message Retention: 26 | ------------------ 27 | 28 | Because this is a free slack account, we have restricted scrollback, but Slack--the company--retains complete logs of all channels and direct messages back to the creation of HNG Internship. Slack is a U.S. company and therefore subject to subpoenas from U.S. courts. Our logs may be subject to subpoena and could become public as part of legal proceedings. 29 | 30 | Reporting 31 | --------- 32 | 33 | If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact the admins. They'll respond as promptly as they can. 34 | 35 | We will respect confidentiality requests for the purpose of protecting victims of abuse. At our discretion, we may publicly name a person about whom we’ve received harassment complaints, or privately warn third parties about them. We will not name harassment victims without their affirmative consent. 36 | 37 | Harassment: 38 | ------------ 39 | 40 | As someone who is part of this Slack, you agree that: 41 | 42 | * We are collectively and individually committed to safety and inclusivity. 43 | * We have zero tolerance for abuse, harassment, or discrimination. 44 | * We respect people’s boundaries and identities. 45 | * We refrain from using language that can be considered oppressive (systemically or otherwise), 46 | eg. sexist, racist, homophobic, transphobic, ableist, classist, etc. - 47 | this includes (but is not limited to) various slurs. 48 | * We avoid using offensive topics as a form of humor. 49 | 50 | Harassment includes offensive comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images, deliberate intimidation, stalking, sustained disruption of discussions or other events, and unwelcome sexual attention. 51 | 52 | Harassment includes: 53 | 54 | * Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, or religion 55 | * Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment. 56 | * Deliberate misgendering or use of ‘dead’ or rejected names 57 | * Gratuitous or off-topic sexual images or behavior in spaces where they’re not appropriate 58 | * Simulated physical contact (e.g. textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop. 59 | * Threats of violence 60 | * Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm 61 | * Deliberate intimidation 62 | * Sustained disruption of discussion 63 | * Unwelcome sexual attention 64 | * Continued one-on-one communication after requests to cease 65 | * Publication of non-harassing private communication 66 | 67 | Participants asked to stop any harassing behavior are expected to comply immediately. 68 | 69 | If you are being harassed, notice that someone else is being harassed, or have any other concerns, please notify an administrator immediately. We can be pinged directly. 70 | 71 | If you say something that is found offensive, and you are called out on it, let’s: 72 | 73 | * Listen without interruption. 74 | * Believe what the person is saying & do not attempt to disqualify what they have to say. 75 | * Ask for tips / help with avoiding making the offense in the future. 76 | * Apologize and ask forgiveness. 77 | 78 | Failing to follow the community guidelines as described in this document carries consequences. Admins 79 | reserve the right to suspend any account if we receive a complaint(s). 80 | 81 | Consequences 82 | ------------ 83 | 84 | Participants asked to stop any harassing behavior are expected to comply immediately. 85 | 86 | If a participant engages in harassing behavior, the admins may take any action they deem appropriate, up to and including expulsion from this slack and identifying the participant publicly as someone about whom we've received complaints. 87 | 88 | -------------------------------------------------------------------------------- /git.md: -------------------------------------------------------------------------------- 1 | Getting Started With Git and GitHub 2 | =================================== 3 | 4 | Explaining Git and GitHub. Forked from [Jaime Kosoy](https://github.com/jkosoy). 5 | 6 | ## Some links for more in depth learning 7 | ### Hands on / interactive learning 8 | * [Learn Version Control with Git](https://www.git-tower.com/learn/ebook) A website for learning Git. Appears to cost money but has a free html book. 9 | * [Git Immersion](http://gitimmersion.com/lab_01.html) A website with tutorial materials you download and follow along with. 10 | * [Try Git](http://try.github.io/levels/1/challenges/1) A 15 minute interactive tutorial to learn the basics. 11 | * [Git-it](http://nodeschool.io/#git-it) Interactive software you run from the Terminal (requires installing node.js and nmp). 12 | 13 | ### Purely text based resources 14 | * [Git: No Deep Sh*t](http://rogerdudler.github.io/git-guide/) A super simplified way of explaining git, basically a cheatsheet. 15 | * [The Git Book](http://git-scm.com/book) Explains everything that's possible with git in lots and lots of detail. 16 | 17 | 18 | The Git Flow 19 | ================== 20 | 21 | The following snippet is designed to explain Vincent Driessen's [git branching model](http://nvie.com/posts/a-successful-git-branching-model/), at least as well as I understand it. Special thanks to [Stephen Koch](https://twitter.com/skoch) for being the true master here. 22 | 23 | A way to think about Git and Github. 24 | ------------ 25 | Milestones of milestones of milestones. In other words: 26 | 27 | - Open up a text editor. 28 | - Type "Hello World". 29 | - Save this file. 30 | - You have now created a "milestone" on your hard drive of this text. 31 | - You can now retreive that milestone by double clicking it to re-open it in your text editor. 32 | - This should be a concept you already understand quite well. 33 | - Change the contents of that file again. Add in your own text. Save it again. 34 | - By saving it again you've overwritten the previous milestone. 35 | - You can certainly redo the work (e.g. replacing all the text with "Hello World" and saving again) but the original work is gone otherwise. 36 | - Git saves milestones of milestones. 37 | 38 | git commit -am "By typing this command I am saving a collection of saved files." 39 | 40 | - This is great because now we can roll back to old versions of files without having to retype. Aka "source control". 41 | - However, wouldn't it be great if we could further save milestones in the cloud? 42 | - Aka milestones of milestones of milestones. 43 | - Github -> Git -> Save 44 | - Github is two things: 45 | - git, in the cloud 46 | - a social network around source code 47 | - All you need to do to push to Github: 48 | 49 | git push origin master 50 | 51 | - Now one could "clone" that repository on another computer and not just get the latest code but the complete revision history on another computer. 52 | 53 | 54 | 55 | Setting up 56 | ------------ 57 | Assuming your project is in a folder named "Project" on your Desktop. 58 | 59 | ### Starting from scratch 60 | cd ~/Desktop/Project 61 | git init 62 | git checkout -b develop 63 | touch README.md 64 | 65 | - Open the README.md file you just created in your text editor. Describe your project. I've provided a basic template below for what it's worth. Save it. 66 | - Go to Github (or Bitbucket or whereever you want to save your code in the cloud). Create a new project. 67 | - If you're on Github, ***do not check*** Initialize this project with a README since you just made one. 68 | - Determine your SSH clone url. On Github it's probably something like ***git@github.com:USERNAME/PROJECT.git***. Should be on the project's page somewhere. 69 | - Add your remote. 70 | 71 | git remote add origin {{the link you just copied}} 72 | 73 | - Breaking that down 74 | - git :: The git command 75 | - remote add :: We're adding a remote connection for this repository 76 | - origin :: We're naming the remote "origin". You can also call this "github" or "bananasauraus" if you'd like. 77 | 78 | 79 | ### Cloning an existing repository. 80 | 81 | - Determine your SSH clone url. On Github it's probably something like ***git@github.com:USERNAME/PROJECT.git***. Should be on the project's page somewhere. 82 | 83 | cd ~/Desktop 84 | git clone {{the link you just copied}} Project 85 | 86 | - This creates a directory named "Project", clones the repository there and adds a remote named "origin" back to the source. 87 | 88 | cd Project 89 | git checkout develop 90 | 91 | - If that last command fails 92 | 93 | git checkout -b develop 94 | 95 | Updating/The Development Cycle 96 | ------------ 97 | You now have a git repository, likely with two branches: master and develop. Now bake these laws into your mind and process: 98 | 99 | ####You will never commit to ***master*** directly. 100 | ####You will never commit to ***develop*** directly. 101 | 102 | Instead, you will create ***feature branches*** on your machine that exist for the purpose of solving singular issues. You will always base your features off the develop branch. 103 | 104 | git checkout develop 105 | git checkout -b my-feature-branch 106 | 107 | This last command creates a new branch named "my-feature-branch" based off of develop. You can name that branch whatever you like. You should not have to push it to Github unless you intend to work on multiple machines on that feature. 108 | 109 | Make changes. 110 | 111 | git add . 112 | git commit -am "I have made some changes." 113 | 114 | This adds any new files to be tracked and makes a commit. Now let's add them to develop. 115 | 116 | git checkout develop 117 | git merge --no-ff my-feature-branch 118 | git push origin develop 119 | 120 | Releasing 121 | ------------ 122 | Finished with your project? 123 | 124 | - Create a feature branch as normal. 125 | - Update the version history in the README.md file 126 | - Update this to develop as normal. 127 | 128 | git checkout master 129 | git merge --no-ff develop 130 | git push origin master 131 | git tag v1.0.0 132 | git push origin v1.0.0 133 | 134 | Replace 1.0.0 in the snippet here with your appropriate versions. Now you have a tag saved. 135 | -------------------------------------------------------------------------------- /html.md: -------------------------------------------------------------------------------- 1 | Getting Started With HTML 2 | =================================== 3 | 4 | Explaining HTML. Forked from [Cassidy Williams](https://github.com/cassidoo/HTML-CSS-Tutorial). 5 | 6 | ## Table of Contents 7 | * [HTML](#html-time-lets-go) 8 | * Editors 9 | * Tag Structure 10 | * Text Structure 11 | * Links 12 | * Other tags 13 | * Images 14 | * Line Breaks 15 | * Tables 16 | * Making Things Gorgeous The Wrong Way 17 | * Colors 18 | * Width and Height 19 | * Borders 20 | * Text Styles 21 | * The `
` tag 22 | * Putting it all together so far 23 | * [CSS](#css-is-magical-and-now-youre-gonna-learn-it) 24 | * Classes and IDs and other Segregation 25 | * Classes 26 | * IDs 27 | * Other Segregation 28 | * The `` tag 29 | * The ``, `
` tags. `
` adds a *paragraph* of text to our website, which are blocks of text that have some space before and after them. Edit the text in the paragraphs given, and add your own to see what I mean! 112 | 113 | And finally, we have `
This paragraph has a totally awesome link.
124 | 125 | Open page1.html in a browser and click on it! BEAUTIFUL. 126 | 127 | Okay, so let's take a look at this. First of all, you can see the `` tag there contained in the paragraph. Beautiful. 128 | But what's that funky milk `href=`? Well, that syntax called an *attribute*. Attributes change the way a tag works, and are not visible to the website's user. You only add attributes to the opening tag, not a closing tag. Tags can have multiple attributes, for example: 129 | 130 |` tags like I put above. You could put them in `
162 |
163 | Open up the page in a browser. WHOA. Image! So, the `
168 |
169 | When you load the page in the browser, the image looks the same. But, if you roll your mouse over the image, you'll see some words appear! WOW. That's the `alt` attribute. It stands for the *alternate text* for an image, and it's used when a user can't view the image for whatever reason (using a screen reader, slow connection, error in the `src` attribute, etc.). Or, in the case of [XKCD](http://xkcd.com/), it's used to add more humor to the page (roll your mouse over all of the comics on the site, they always add another joke or two that a lot of people don't know about).
170 |
171 | #### Line breaks
172 | Let's just say you want to keep all your content in one paragraph ``, but you still want to break it up. 173 | 174 | That's easy. 175 | 176 | So, there's two special tags here, `
` tags to try it out! 182 | 183 | #### Tables 184 | Tables are really cool. They can also be a bit confusing. Open up tables.html (in the **2 - Tags** folder) in a browser to check out the example table I made for you there. 185 | 186 | There's several tags for tables, but the essential ones are `
| `, and ` | `. Look at tables.html in your editor.
187 |
188 | We're going to make our own table again on this page. You can delete the one I made for you, or just make one underneath the current one there.
189 |
190 | So, to create a table, you start with the `| ` (*table header*) and ` | ` (*table data*). As their names indicate, the former is for the header of the table and the latter is for all of the data in the table.
211 |
212 | In our first set of ` | ` tags, and in the second and third ` | ` tags.
213 |
214 | |
` or ` | ` tag, the cell will expand past their cell size. For example, ` | ` will give you a table header that spans 2 columns, and ` | ` will yield a cell that is the height of 3 rows. Jazzy!
261 |
262 | You can also nest tables, but I won't get into that right now. If you want to play around with the code, try adding some ` | ` tags inside your current ` | ` tags. MaGiCal ThInGs.
263 |
264 | ### Making Things Gorgeous The Wrong Way
265 |
266 | So, your website right now looks pretty bland, and that's normal. But, we want a website that is hot, sexy, ravishing, and powerful. Yes, that's right, we want a website just like you.
267 |
268 | So first, I will show you the wrong way to style your pages. You might ask why, but trust me, if you learn in this order, you'll understand HTML attributes a lot better, and then when you move on to CSS your mind will explode with joy. Explode.
269 |
270 | #### Colors
271 |
272 | Alrighty. Let's get frisky. Open up the **3 - Styles** folder and the file style1.html. You might notice that this file is pretty bland right now, but that's what we're gonna fix. Be patient, my grasshopper.
273 |
274 | Add this line of code in the `` somewhere below the header tags (I made a lot for fun...): ` | This text is hot like my body ` 275 | 276 | Oh man. Load that baby in a browser. WHAT. MAGNIFICENT. COLOR. 277 | 278 | The first thing we'll look at is the `style` attribute. You can style all kind of things in that, from colors to widths to heights to borders to weights. But for now, let's just talk color. 279 | 280 | So, you might wonder, "what the heck how does that work can I just type any color in that space where red is?" And the answer is no. You can type a ton of colors there, like `blue` and `yellow` and `cyan` and `magenta`, but you can't just say `oasisorange` or `electricwhite` and hope that that'll work. 281 | 282 | How do you get a specific color of your liking? Well that's when you use RGB or HEX colors. This is kind of a pain to grasp, it took me a little bit, so I'll explain it as simply as I can: RGB stands for Red, Green, and Blue. You can have the values 0 to 255 in each to form pretty much any color in existance. Whoa. The way to form an RGB code similarly to the one above is simple: `style="color: rgb(255,0,0)"`. In this example, there's 255 reds, 0 greens, and 0 blues. So, it's all red. Boom, simple enough. 283 | 284 | Now HEX colors is very similar. It consists of the hashtag sign `#`, and then 6 *hexadecimal digits*, which are 0123456789ABCDEF, with F being the highest digit. Like RGB, the first two digits of HEX are reds, the second two digits are blues, and the third couple of digits are greens. So, to write the same color code above, you'd do `style="color: #FF0000"` to get red, because you have FF for reds, 00 for blues, and 00 for greens. Simple? Simple. 285 | 286 | Don't worry, you won't have to come up with RGB and HEX colors yourself. There's plenty of websites and programs and color pickers out there to help you with that. Here's a few: 287 | 288 | * [Color Picker](http://www.colorpicker.com/) 289 | * [HTML color codes and names](http://www.computerhope.com/htmcolor.htm) 290 | * [HTML Color Codes](http://html-color-codes.info/) 291 | * [HTML Color Picker](http://www.w3schools.com/tags/ref_colorpicker.asp) 292 | 293 | Try adding colors to various tags on the page! You can make your `` the color `#005DFC`, your ` | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|