Solution and the Tech Stack

Samaaja is built using Frappe. The framework has all the batteries included, such as Redis, background workers, REST API & web forms out of the box. Samaaja is compatible with Frappe version 15.

How to?

How to use Samaaja ?

  • Self hosting - Samaaja is an open source application built on Frappe. You can take the code and deploy it on your server. We can support you in this process and also help/ guide to make any further customizations needed. Write to us for help on contact@impactyaan.com
  • Frappe Cloud - This is work in progress. Once we make the necessary changes to the app, you would be able install Samaaja app with one click on Frappe Cloud.
How can I install Samaaja on my server?
  • There are three main options depending on your environment:
    • Option 1: You already have Frappe running (non-Docker setup)
      • Install Samaaja using the following commands:
      • 
        bench get-app --branch version-15 https://github.com/reapbenefit/Samaaja.git
        bench --site <sitename> install-app samaaja
        bench restart
                      
      • Follow these instructions to initialize Samaaja
    • Option 2: You want to install Frappe and Samaaja using Docker
    • Option 3: You already have a Docker-based Frappe setup
How do I add users? How can I get them to auto sign in?
  • You can ask users to go to the URL domainname/login#login. For example - https://samaaja.org/login#login. The last line links to a registration page. Frappe, on which Samaaja is built allows you to enable Single Sign Ons - Gmail, Github, Facebook, Twitter etc - the link to read more is here.
How do I create forms?
  • You can add a new webform following this link. Remember, a webform has to have a matching "DocType" aka table to hold the responses.
How do I create dashboards?
  • Login to Desk as an Admin, and search for "New Dashboard"
How do I add badges and the logic to automatically deliver it based on some actions on Samaaja?
  • Once you sign in as the admin, in desk, search for “Badges”
  • You can select Badge List to see existing badges
  • In that screen, you can Select "Add new badge" to add a new badge, or go further down the drop down, in the search bar to find a similar item to add a new badge.
  • Title will be the name of the Badge
  • Icon is the Badge's icon. 128x128px icons are suggested. When uploading, set image as public, and optimise.
  • Set Badge as active and set order to present itself in. There is a section to write the SQL query. An example is SELECT name FROM `tabUser` u where count(u.name) > 0 && count(u.name)<2 where if the user bas 1 or 2 actions recorded, they get a badge called Starter
  • Set a presentation number/sequence for the badge. Ensure no duplication in the order of presentation of the badge.
  • Set as active by checking the check box.
  • On edit, the badge logic is applied, as it is computed when the user profile is loaded. This data is not stored in any doctype.