Python/Django Onboarding Sample
References
- A Byte of Python (Learn Python)
- Awesome Python (List of Python Resources)
- Project Setup
- Getting Started with Django
- Quick install guide
- Write your first Django app
- Django documentation
- Django REST framework
- pandas
- kaggle
- cheatsheet
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:
- Basics
- Operators and Expressions
- Control Flow
- Functions
- Modules
- Data Structures
- Object Oriented Programming
- Input and Output
- Exceptions
- More Challenge yourself 💪. Do a code challenge in Python3.
Day 2
Django Tutorial (Part 1, 2) Part 1
- Creating a project
- The development server
- Creating the Polls app
- Write your first view
- 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
- 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
- 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
- Requests and Responses
- 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
- Adding a root API
- Hyperlinking our API
- Adding pagination
- Using ViewSets
- Using routers
- Adding pagination
Day 7
- 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 🏅