Skip to content

Python/Django Onboarding Sample

References

Timeline

Briefly describe what the developer can expect of his/her onboarding time wise

Day 1

Set up your project environment by following this guide. Then get familiar with the language:

Day 2

Django Tutorial (Part 1, 2) Part 1

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

Part 2

  • Database setup
  • Creating models
  • Activating models
  • Playing with the API
  • Introducing the Django Admin

Day 3

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, 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 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 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 getting started

  • Installing pandas
  • pandas overview
  • Getting started tutorials

Library Project

Talk to you team leader and try to design a Library project in Django.

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: You can also have a search bar for Authors and for Books (one for each) 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. Feel free to add your own statistics here.

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

Finish

Congratulations, if you made it this far you deserve a medal, here you go 🏅