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.
- 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:
- Follow these instructions to initialize Samaaja
bench get-app --branch version-15 https://github.com/reapbenefit/Samaaja.git bench --site <sitename> install-app samaaja bench restart
- Option 2: You want to install Frappe and Samaaja using Docker
- Follow the instructions in this repository: Samaaja Docker Install
- Option 3: You already have a Docker-based Frappe setup
- You can use a custom image to add Samaaja. Refer to the official Frappe Docker docs: Custom Apps with Frappe Docker
- Option 1: You already have Frappe running (non-Docker setup)
- 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.
- You can add a new webform following this link. Remember, a webform has to have a matching "DocType" aka table to hold the responses.
- Login to Desk as an Admin, and search for "New Dashboard"
- 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.