Skip to content

Instantly share code, notes, and snippets.

View NagariaHussain's full-sized avatar
🏠
Working from home

Md Hussain Nagaria NagariaHussain

🏠
Working from home
View GitHub Profile

Come, Grow with Frappe Cloud and Marketplace

Two birds, one stone. That's how I think of any Marketplace and Frappe Cloud Marketplace is no different. When an app gets published to Marketplace, it benefits both the parties, the publisher as well as the user. The users get a ready-made solution to their problem and the publishers either get popular or make a successful business out of it or both! To re-iterate, it is a win-win for everyone!

Let me get straight to the point: Frappe Cloud Marketplace is shaping up now and we want you to be part of the growth! Let's grow together. The remaining of this post shows where FC Marketplace stands now and what comes next. We also dive into why we think it is a high time to get started on Maretplace and the magical growth opportunities the publishers have in the Frappe Cloud ecosystem.

Introducing User Reviews

Knowing what the users think about their app is valuable for any publisher. It gives them an idea about what they are doing right and what can b

import React from "react";
import styled from "styled-components";
import { ZapIcon } from "../components/icons/ZapIcon";
import { Pressable, TouchableOpacity, View } from "react-native";
import { CenteredRow } from "./utils/Row";
const BottomBarContainer = styled.View`
flex-direction: row;
align-content: center;
justify-content: space-between;
import React, { useEffect, useState } from "react";
import { TouchableOpacity } from "react-native";
import styled from "styled-components";
import { CardContainer } from "../utils/Card";
import { Icons } from "../icons";
import { playSoundFromUri } from "../../lib/audio";
import { ProgressBar } from "../utils/ProgressBar";
const PlayerControlContainer = styled(CardContainer)`
@NagariaHussain
NagariaHussain / hints.py
Created November 8, 2022 08:43
Hints for implementing deploy on all required checks passed
# Check apps/press/press/press/doctype/app_source/app_source.py
# branch = get branch from github API while creating app release
required_checks = branch.get["protection"]["required_status_checks"]["checks"]
if len(required_checks) == 0:
# No required checks, continue as it is now
else:
# for check in required_checks
# populate a child table?
# Copyright (c) 2022, Hussain and contributors
# For license information, please see license.txt
from frappe.model.document import Document
from pymongo import MongoClient
CONNECTION_STRING = "<YOUR-CONNECTION-STRING>"
# Copyright (c) 2022, Hussain and contributors
# For license information, please see license.txt
from pymongo import MongoClient
from abc import ABC, abstractstaticmethod
from frappe.model.document import Document
class MongoDBDocument(Document, ABC):
@abstractstaticmethod
# Copyright (c) 2022, Hussain and contributors
# For license information, please see license.txt
from my_awesome_app.my_awesome_app.doctype.car.car import MongoDBDocument, get_mongodb_client
class Person(MongoDBDocument):
@staticmethod
def get_collection():
client = get_mongodb_client()
---
export interface Props {
title: string;
}
const { title } = Astro.props;
---
<!DOCTYPE html>
<html lang="en">
@NagariaHussain
NagariaHussain / bwh_ep_14_source.md
Created September 3, 2023 16:07
Build With Hussain, Episode 14 Client/Server Scripts

Intro Client Script

frappe.ui.form.on('Project', {
	refresh(frm) {
	    if(frm.doc.expected_end_date == frappe.datetime.now_date())
		    frm.set_intro("<b>End date has arrived</b>","red")
		else
		    frm.set_intro("Take it east","green")
	}