|
|
@@ -1,48 +1,72 @@ |
|
|
|
# Before You Start |
|
|
|
|
|
|
|
<p class="lead">A list of tools, technologies that will be very helpful for building apps in Frappe.</p> |
|
|
|
|
|
|
|
There are a number of good tutorials online and we found [CodeAcademy](http://www.codecademy.com/) to be the most beautiful ones out there here bunch of lessons you can learn from CodeAcademy |
|
|
|
<p class="lead">A list of resources to help you get started with building apps using Frappe</p> |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
#### 1. Python |
|
|
|
|
|
|
|
Server side Frappe is written in Python and its a good idea to [quickly learn Python](http://www.codecademy.com/tracks/python) before you started digging into Frappe. Another good place to learn Python is the [tutorial on docs.python.org](https://docs.python.org/2.7/tutorial/index.html). Note that Frappe uses Python 2.7 |
|
|
|
Frappe uses Python (v2.7) for server-side programming. It is highly recommended to learn Python before you start building apps with Frappe. |
|
|
|
|
|
|
|
To write quality server-side code, you must also include automated tests. |
|
|
|
|
|
|
|
To write quality server side code, you must include automatic tests. You can learn the [basics of test driven development here](http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137). |
|
|
|
Resources: |
|
|
|
1. [Codecademy Tutorial for Python](https://www.codecademy.com/learn/python) |
|
|
|
1. [Official Python Tutorial](https://docs.python.org/2.7/tutorial/index.html) |
|
|
|
1. [Basics of Test-driven development](http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
#### 2. Databases MariaDB / MySQL |
|
|
|
#### 2. MariaDB / MySQL |
|
|
|
|
|
|
|
You need to understand the basics of databases, like how to install, login, create new databases, and basic SQL queries. Here is a [very quick introduction to MySQL](https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial) or head to [the MariaDB site for a more detailed understanding](https://mariadb.com/kb/en/mariadb/documentation/getting-started/) |
|
|
|
To create database-driven apps with Frappe, you must understand the basics of database management, like how to install, login, create new databases, and basic SQL queries. |
|
|
|
|
|
|
|
Resources: |
|
|
|
1. [Codecademy Tutorial for SQL](https://www.codecademy.com/learn/learn-sql) |
|
|
|
1. [A basic MySQL tutorial by DigitalOcean](https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial) |
|
|
|
1. [Getting started with MariaDB](https://mariadb.com/kb/en/mariadb/documentation/getting-started/) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
#### 3. HTML / CSS |
|
|
|
|
|
|
|
If you are building user interfaces, you will need to [learn basic HTML / CSS](http://www.codecademy.com/tracks/web) and the [Boostrap CSS Framework](http://getbootstrap.com) |
|
|
|
If you want to build user interfaces using Frappe, you will need to learn basic HTML / CSS and the Boostrap CSS Framework. |
|
|
|
|
|
|
|
Resources: |
|
|
|
1. [Codecademy Tutorial for HTML/CSS](https://www.codecademy.com/learn/learn-html-css) |
|
|
|
1. [Getting started with Bootstrap](https://getbootstrap.com/getting-started/) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
#### 4. Building UI with Javascript and JQuery |
|
|
|
#### 4. JavaScript and jQuery |
|
|
|
|
|
|
|
To customize forms and create new rich user interfaces, it is best to [learn Javacsript](http://www.codecademy.com/tracks/javascript) and the [popular library JQuery](http://www.codecademy.com/tracks/jquery). |
|
|
|
To customize forms and create rich user interfaces, you should learn JavaScript and the popular library jQuery. |
|
|
|
|
|
|
|
|
|
|
|
Resources: |
|
|
|
1. [Codecademy Tutorial for JavaScript](https://www.codecademy.com/learn/learn-javascript) |
|
|
|
1. [Codecademy Tutorial for jQuery](https://www.codecademy.com/learn/jquery) |
|
|
|
--- |
|
|
|
|
|
|
|
#### 5. Customizing Prints and Web pages with Jinja Templating |
|
|
|
#### 5. Jinja Templating |
|
|
|
|
|
|
|
If you are customizing Print templates or Web pages, you need to learn the Jinja Templating language. It is an easy way to create dynamic web pages (HTML). |
|
|
|
|
|
|
|
If you are customizing Print templates, you need to learn the [Jinja Templating language](http://jinja.pocoo.org/). It is an easy way to create dynamic web pages (HTML). |
|
|
|
Resources: |
|
|
|
1. [Primer on Jinja Templating](https://realpython.com/blog/python/primer-on-jinja-templating/) |
|
|
|
1. [Official Documentation](http://jinja.pocoo.org/) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
#### 6. Git and GitHub |
|
|
|
|
|
|
|
[Learn how to contribute back to an open source project using Git and GitHub](https://guides.github.com/activities/contributing-to-open-source/), two great tools to help you manage your code and share it with others. |
|
|
|
Learn how to contribute back to an open source project using Git and GitHub, two great tools to help you manage your code and share it with others. |
|
|
|
|
|
|
|
Resources: |
|
|
|
1. [Basic Git Tutorial](https://try.github.io) |
|
|
|
2. [How to contribute to Open Source](https://opensource.guide/how-to-contribute/) |
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
When you are ready, [try building a sample application on Frappe]({{ docs_base_url }}/user/en/tutorial/app) |
|
|
|
When you are ready, you can try [building a sample application]({{ docs_base_url }}/user/en/tutorial/app) using Frappe. |
|
|
|
|