Skip to content

Onboarding

The onboarding process consists on the creation of the following sections as Github issues.

General References


Day 1 - Getting Familiar

  1. Set up your project environment by following this guide.
  2. Update REAME.md with the initial setup
  3. A pull request must include: README.md and a requirements.txt file with the installed python packages
  4. Then get familiar with the language:


Day 2 - Django Tutorial part 1 and 2

Django Tutorial (Part 1, 2) Part 1

  • Creating a project
  • The development server
  • Creating the Polls app
  • Write your first view

Part 2


Day 3 - Django tutorial part 3 and 4

Django Tutorial (Part 3, 4) Part 3

  • Writing more views
  • Write views that actually do something
  • Raising a 404 error
  • Use the template system

Part 4

  • Write a minimal form
  • Use generic views: Less code is better

Day 4 - Django tutorial part 5,6 and 7

Django Tutorial (Part 5, 6, 7) Part 5

  • Introducing automated testing
  • Basic testing strategies
  • Writing our first test
  • Test a view
  • When testing, more is better

Part 6 / 7 (Optional)

  • Customize your app's look and feel
  • Adding a background-image
  • Customize the admin form
  • Adding related objects
  • Customize the admin change list
  • Customize the admin look and feel
  • Customize the admin index page

Day 5 - Django Rest Framework Part 1, 2 and 3

Django REST Framework Tutorial (Part 1, 2) Part 1

  • Setting up a new environment
  • Working with Models
  • Working with Serializers
  • Writing regular Django views using our Serializer
  • Testing our first attempt at a Web API

Part 2

  • Requests and Responses

Part 3

  • Class Based Views
  • Mixins
  • Generic Class Based Views

Day 6 - Django Rest Framework Part 4, 5 and 6

Django REST Framework Tutorial (Part 4, 5) Part 4

  • Adding permissions to views
  • Create a Login API
  • Object level permissions
  • Authenticating with the API

Part 5

  • Adding a root API
  • Hyperlinking our API
  • Adding pagination

Part 6

  • Using ViewSets
  • Using routers
  • Adding pagination

Day 7 - Pandas

pandas getting started

  • Installing pandas
  • pandas overview
  • Getting started tutorials

Day 8 - Project

This project consists on the development of a Rest api to manage/views: Authors, Books and Categories.

Requirements

  • User needs to be able to manage Authors, Books, and Categories in the app.
  • Each Author can have many Books that he/her has written and each book can be included in multiple categories.
  • The User should be able to view lists of Authors and Books.
  • The Books should be able to be filtered by Author and by Category.

Optional: The App should also include a page to view some basic statistics, like the number of Books per Author, or the number of Books per Category.

Optional: To complicate the models. A book can have many instances and users can request an instance to take home with a requested date.

Acceptance Criteria

  • Design the model entity relation for this project:
    • use Mermaid, this is supported out of the box by Github's Markdown
  • Design the API endpoints, including:
    • path
    • request
    • response

Once the design/planning part has been taken care of and agreed upon, please create tickets/issues for each of the tasks. Having those created, their commits should respect the nomenclature used in the conventional commits:

  • if it's a task: task/<number_of_the_ticket>/small-description;
  • if it's a bug: bugfix/<number_of_the_ticket>/small-description;
  • if it's a release: chore/<number_of_the_ticket>/small-description.

Read the conventional commits documentation to check more examples and details of each commit type (i.e body, footer, etc).