Giter VIP home page Giter VIP logo

serverless-stuff's Introduction

Newsletter

Managing a server is pretty complicated, but building with serverless architectures simplifies this process. As a student, mastering serverless functions can help you to build projects that solve real-world problems by integrating APIs, constructing user interfaces, and analysing data. Javascript is the core language of this course - one of the most in-demand languages to learn in the industry.

❓ Not sure how to get started?

Read GETTING_STARTED.md for instructions on how to use this repository, install counselorbot, and general tips for learning serverless! Read over the file carefully and make sure to complete these steps:

  1. Read over camp vocabulary & emojis
  2. Complete computer setup
  3. Install VSCode extensions
  4. Install CounselorBot
  5. Refer back to this file if you ever need help!

Table of Contents

⚡ Learn about Azure Functions! (Week 1-4)

Week 1 - Get Started with Azure Functions!

Build projects to get started with Azure Functions, Cloud Engineering, and Javascript! In addition, set up your development environment with various developer tools like Github and Postman.

Category Assignment Description Learning Objectives
Project HackerVoice Build your first HTTP Trigger Azure Function that may or may not let you pass, written in Javascript.
  • VSCode
  • Github
  • Postman
  • Azure functions Locally
  • Testing Javascript Knowledge
Project twoCatz API Create a REST API that returns multiple pictures of cats, named after your friends.
  • Consuming API
  • Azure functions Locally
  • Vanilla JS
Challenge [Top Secret] Build a Serverless Function that converts English to Morse Code
  • npm packages
  • Writing HTTP Trigger Functions

Week 2 - Working with APIs

Build projects with awesome APIs from Twilio, Microsoft Cognitive Services, and Giphy! Learn how to read documentation, experiment, and most importantly Google!

Category Assignment Description Learning Objectives
Project Emotional Gifs Match your emotions with a gif-tastic Gif from Giphy using a web page and machine learning.
  • Twilio API
  • Giphy API
  • Azure Functions
Challenge Song4u.js Create an API Endpoint that takes in an image of a face and calls you back with a song matching how old you look!
  • Consuming API
  • Write HTTP Trigger Function
  • Vanilla Javascript

Week 3 - Incorporate a Database

Build projects with Blob Storage and a NoSQL database to store data recieved through your serverless function!

Category Assignment Description Learning Objectives
Project Bunnimage API Create a File Sharing API that saves images that are able to be downloaded on another device with a secret code.
  • VSCODE
  • Github
  • Postman
  • Azure functions Locally
  • Testing Javascript Knowledge
Challenge Deep Secrets API Everyone has secrets. Text your confessions to a number and receive someone else's back.
  • Consuming API
  • Write HTTP Trigger Function
  • Vanilla Javascript

Week 4 - Building a Frontend

Build a frontend with HTML/CSS/JS to interact with your serverless functions!

Category Assignment Description Learning Objectives
Project Bunnimage App Create a Frontend that allows users interact with the Bunnimage API which stores and retrieves images.
  • VSCODE
  • Github
  • Postman
  • Azure functions Locally
  • Testing Javascript Knowledge
Challenge Deep Secrets App Create a Frontend that allows users interact with the Deep Secrets API which stores and retrieves secrets from a database.
  • Consuming API
  • Write HTTP Trigger Function
  • Vanilla Javascript

⚡ Build your Own Project (Week 5-8)

✔️ After completing the cabin, students will create their own app with this timeline:

Week 5 - Brainstorming & Proposals ⛈

Students will submit a final project proposal which should outline, at a high level, what their project will be. This includes a project flowchart that shows the different components of the project and how they will interact with one another.

Week 6 - Developing the MVP 💻

Students will be presenting their MVPs next week and will be working with their instructors and mentors to develop their projects over the course of the next 2 weeks.

Week 7 - Completing the MVP

Students should have an MVP (Minimum Viable Product) of the final project. This should be a bare bones version of the project with the most basic functionality working.

Week 8 - Finalizing & Adding Features 🎀

Students will continue adding features and building their project until it is fully complete.

Week 9 - Final Presentations

Students will prepare a final presentation with a slidedeck on their project as well as write a blog post detailing their project and how they made it from start to finish.

Example final project

spotion

serverless-stuff's People

Contributors

counselorbot[bot] avatar tk26 avatar

Watchers

 avatar

serverless-stuff's Issues

Getting Started with Serverless

Week 1 Step 1 ⬤◯◯◯◯◯◯◯◯ | 🕐 Estimated completion: 5-20 minutes

GitHub

This week, you will be going through steps to set up tools needed to be successful in this camp. If you are already familiar with some, feel free to skip to the end and complete the task to move on.

✅ Tasks:

  • 1: Optional: complete the get started with GitHub guide.
  • 2: Create a new branch named test.
  • 3: Add a paragraph introducing yourself under the About Me section in the blog.md file in root.
  • 4 Commit the change to test, make a draft pull request to your main branch, naming it Adding self introduction and add a detailed description of your contribution. Then, click Ready for Review and merge the pull request once the CounselorBot approves it!

💡 Tip: You will only need to make a draft pull request for Week 1 Step 1. For the rest of the curriculum, you may create "regular" pull requests!

Making a Draft Pull Request

When you're collaborating on GitHub with other developers, sometimes you might want to make a draft pull request before your code is ready to be reviewed! We can simulate this with the CounselorBot, and we will only be doing so with Week 1 Step 1.

Want a video demo? Click here!

Instead of clicking Create Pull Request, click the drop down arrow and click Create Draft Pull Request. Then, click Ready for Review. This allows the CounselorBot to review your pull request to check if you're ready to go!

What is GitHub?

GitHub is a industry-standard platform allows developers to save and collaborate on code. You can use GitHub to manage your files, changes in your project, version control (the ability to revert back to previous versions of your code as well as versions developed by other programmers), and more.

Check out "The Github Flow" for more information on issues, pull requests, committing, and branches!

If you want to learn more about what it is and how to use it, try taking this GitHub Learning Lab Course. After finishing it, you will have a strong understanding of all the features GitHub has to offer.

✍️Vocabulary

‼️ Repositories

Repositories (or repos) are essentially folders where you can store files of code. The repo of our camp was duplicated into your account when you clicked "Create Template" so that you can commit changes and complete each lesson.

‼️ Issues

For our camp, each week is placed inside an issue. Only when you complete the week (committing the necessary code and commenting), will the issue close and you can move on to the next issue. Don’t worry – committing changes is easier than it sounds.

💡 On usual repositories in the contributing world issues are tasks or bugs that need to be completed or fixed.

‼️ Fork

If you want to contribute to someone else's code, you would "fork" it. This creates a copy of the code under your account that you can make changes to. Create a fork when you want to make changes to someone else's code and contribute to it.

‼️ Branch

Creating a branch on a repository is like forking a repository. You would do this when you want to make changes to your code without harming a working version.

‼️ Pull Request

Once you make changes on a forked repository or another branch, you might need to bring the changes into the "main" repository. This allows YOUR changes to be visible in the main project! *You are basically asking for permission to "merge" your changes."

This allows you to:

⭐ Collaborate on code

⭐ Make comments

⭐ Review the contributions made

‼️ Command Line Interface

A Command Line Interface (CLI) is your computer's visual application for accessing its operating system. There are different types of CLIs for different operating systems, such as Terminal for MacOs and PowerShell for Windows. If you have Windows, make sure to also install Git Bash for a better tool. In upcoming issues, we will refer to your CLI as your Terminal or Command Line, but remember that they mean the same thing!

Key functions you should be familiar with after this task include:

  • Committing changes
  • Forking a repository
  • Making a new branch
  • Making a pull request
❓ What do all the emojis mean? Glad that you asked!
Emoji Meaning
💡 Helpful tips
‼️ Important info
Question you may have
Features

📹 Walkthrough Video

Alt text

Start Course

Click the big green button that says Submit new issue, and you'll be good to go!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.