Frappe Bootcamp

Table of Contents

Frappe Framework App Development Bootcamp (Dubai, 2024)

Video link: https://poketube.fun/watch?v=4VCq0Xix2EM

Bootcamp docs: https://manual.buildwithhussain.dev/introduction/

  • This contains all the assignments and more thing

PDF Link: https://hussain.click/ff-intro-slides

CheatSheet : https://frappeframework.com/files/Bench%20Cheatsheet%20v1.1.pdf

Day 1

Hybrid Full Stack Web Developement Framework.

  • Created new site atulyataxy.in
  • By default Frappe App is installed.

If a form is huge ctrl + j will highlight the field you want.

Impersonation of users

Websites has a separate cache.

Frappe builder seems good.

Each site has 1 database to it.

Created an App

Apps are python packages.

Directory of Application

  • App-name (Frappe App)
    • App-name (Python Project)
      • App-name (Module)

REST API Testing

  1. Install Bruno

  2. Create Collections

  3. Create Request

  4. Add:

    • Name
    • Link with port number
    • atulyataxy.in:8001/api/v2/document/Driver
    • url:port/api/v2/document/doctype
  5. Generate API keys

    • User > Settings > API Access > Generate API Keys
    • This will create two keys
      • API Key: e4847330c7bee44
      • Secret: 44e074ebd1f72fc
  6. Add Header

    • Name: Authorization
    • Value: token {API Key}:{Secret}
  7. Send request

  8. Same for Posting too, use API Key-Secret tokens.

Processes

Procfile is used to start and config the processes.

Processes:

  1. Web
  2. Redis
  3. Watch (Development)
  4. socketio (Node)

Scripting

Server side scripting is done at doctype-name.py inside App directory.

Day 2:

Client side scripting

Web View (Portal Development)

Any DocType can have web view by enabling:

  • Setting
    • Has Web View
    • Allow Guest to View
  • Add route field in doctype too.

Query parameters

Notifications

We can create notifications

  • Email
  • SMS
  • System

How to access child table field in js function?