---
title: "Engineering Onboarding"
space: "Handbook"
url: "https://frappe.io/handbook/engineer-onboarding"
updated: "2026-05-07"
---

Welcome to Frappe!

To get started with development, you must get familiar with the [Frappe Framework](https://frappeframework.com). Most of the products at Frappe are based on the Frappe Framework. It is a full-stack, batteries-included web framework in Python.

![](/private/files/34dac2642b48b49e870a4402685b472d2ddcf7c6.png)  


If you're new to web development, this may not be an easy journey. The learning curve for the Frappe Framework has been very steep, and we're always in pursuit of changing this. You can see our efforts to do so, via the Frappe Documentation at [frappeframework.com](https://frappeframework.com/docs) or through the resources and tools available for a Frappe setup. You may use [Frappe Docker](https://github.com/frappe/frappe_docker/tree/develop/development) for this, but you should ideally try out manual setups to understand the stack instead of using the docker "shortcut".

Recommended Onboarding Steps:
-----------------------------

1. Setup a development environment using the [Bench CLI](https://frappeframework.com/docs/user/en/bench). You can follow the official [setup instructions](https://frappeframework.com/docs/user/en/installation).
2. (Optional) Download [VSCode](https://code.visualstudio.com/) and install the Frappe Intellisense extension.
3. Go through the written [Tutorial](https://frappeframework.com/docs/user/en/tutorial) or the [Video Tutorial](https://www.youtube.com/playlist?list=PL3lFfCEoMxvzHtsZHFJ4T3n5yMM3nGJ1W) or both 🤷🏻‍♂️.
4. Make a basic [Accounting App](#accounting-app) with a double-entry accounting system OR warehouse management app.

Accounting App
--------------

### Use Case

Jethalal starts his business "Gada Electronics" with 100k, buys various electronic products and stocks them in his godowns. Sells them while keeping some profit. He does so while maintaining customer credits as well as settling his debts.

Your application should be able to track products, account balances, profits, losses and the taxes he has to pay while transacting. Probably something that looks better than this

![](/private/files/fb5a18c5ca1a549fc9e98fc652e81bc2567a2bd3.png)  


If you are totally new to "Accounting" then watching recording of [old brief of the app](https://drive.google.com/file/d/1We3UKTFsLUU2Rck1KhQ1-EUPItVXEfSd/view?usp=sharing) might help.

### Features

1. DocTypes


	* Item
	* Account (tree)
	* Ledger Entry
	* Journal Entry (ledger posting)
	* Sales / Purchase Invoice (ledger posting)
2. Reports


	* Chart of accounts
	* Profit and Loss
	* Balance Sheet
3. Tests


	* Ledger Posting
	* Totals
4. Invoice print format
5. Website


	* Home page
	* Catalog
	* Simple Web Shop (add items to cart and make invoice)

Warehouse Management App
------------------------

Documented on gameplan - [Warehouse Management app for onboarding](https://gameplan.frappe.cloud/teams/engineering/projects/40/discussion/1121?comment=4688)

### Goals

The goal of this "exercise" is to provoke thought and empower you with everything necessary to get your first feature PR merged to [Frappe](https://github.com/frappe/frappe) or [ERPNext](https://github.com/frappe/erpnext).

Also to answer this simple question: **"Is DocType a DocType?"**

![](/files/always-has-been-doctype.png)  




---

