Learn To Code Workshop
  • Introduction
  • Setup
    • Mac OSX
    • Linux
  • User stories
  • Working with BDD
  • Setting up
  • Focus on the feature
  • Adding views
  • Complex views
  • Adding a database
  • Adding a Course
  • Adding a User
  • Authenticating a User
  • Logging in
  • Logging out
  • Restricting access
  • Adding relationships
  • The look and feel
  • Adding Students
  • Rendering certificates
  • The certificate layout
  • Generating images of certificates
  • The verification interface
  • Storage in the cloud
  • Refactoring the workflow
  • Refactoring the verification view
  • Deployment
  • Verification stats
  • Distributing the certificates
  • Moving forward
Powered by GitBook
On this page
  • Learn To Code
  • Problem definition
  • The Learning Experience
  • Open Source

Introduction

Learn To Code

Welcome to the Learn To Code Workshop. For the upcoming 4 days we will spend together, we will explore some techniques used by professional developers during their development process. The idea with this workshop is to showcase some of those techniques and put them in to practice.

The application we will build is a tool to administrate, issue and verify course certificates.

Problem definition

As an education institution/company, I face a growing problem with aggregating course and student's information, and issue appropriate course certificates. I also want to make sure that certificates I issue are not tampered with by bad people, that want to take credit for a course they actually did not attend.

The Learning Experience

What makes this application interesting as a learning experience is that it solves a relatively simple problem but requires implementation of several technologies in order to be completed. We are going to use:

  • A database for storing data (PostgreSQL)

  • Data import functionality

  • A back-end framework (Sinatra)

  • A library to generate pdf files

  • A library to generate images

  • An encryption library

  • A cloud storage service (Amazon Web Services)

  • A Platform as a Service provider (Heroku)

  • Email functionality and service to distribute documents (Gmail)

  • JavaScript (jQuery) to add functionality and to enhance the user experience on the front-end

  • A CSS framework (Foundation) to style the front-end

  • And more...

We will be moving in a rather fast pace but we will take good time to explain everything we do. The most important thing is that you follow us as we move forward. The best way to start to learn to code is.. to code! Even if you don't understand everything, we'd like you to do your best to actually go through the steps in this guide. There's no bigger joy than to see code you've written pass all the tests and come to life in your browser.

Tests? Yes! We will be practicing Behavior Driven Development with a mix of Unit tests. This is to ensure that our application meets the requirements (more on that later).

Open Source

This publication contains the course materials we ask all our future students to go through. You are free to use it for your personal learning needs even if you are not attending our workshop, we encourage that.

It is however not allowed to use this material in a commercial context without our written consent. It is not okay and it is against the very meaning of open source.

If you have any questions, feel free to contact us at info@craftacademy.se

Thomas Ochman Gothenburg, December 2015 www.craftacademy.se

Disclaimer: This is very much a Work In Progress (WIP) and we will be pushing content regularly so please use the online version if you can or make sure you download/update the pdf, mobi or epub versions regurarly.

NextSetup

Last updated 7 years ago

We hope that you will enjoy this material and that the learning experience will be valuable to you. We continuously develop this step-by-step guide to improve it so please give us feedback by dropping us an email or opening a ticket on the GH repository .

Also, please have a look at other from us and visit our site at .

Craft Academy by Pragmatic Sweden AB

.

CraftAcedemy/workshop
publications
craftacademy.se
Craft Academy Learn To Code Workshop by Pragmatic Sweden is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Creative Commons License