Giter Club home page Giter Club logo

foundry's Introduction

Appsmith Logo

Appsmith Foundry Custom Library

This is a collection of utility functions for common tasks in JavaScript. This module includes functions to work with arrays, objects, and generate unique IDs. It's designed to be simple to use and can be easily integrated into your Node.js, browser-based projects or Appsmith apps.

Note: This method requires a public Github repository.

Installation

You can clone this repo using Git to create and modify:

git clone [email protected]:appsmithorg/foundry.git

Once cloned, you will need to install the Node modules to get it ready for usage. This should only be needed the first time (unless you add extra modules).

npm install

Alternatively, you can follow the tutorial to set your own foundry up from scratch. (coming soon)

Usage

  1. Create a new sub-directory in the libraries folder. This should be the name of your custom library.
  2. Create an index.js file in that folder, and copy your code in there. Currently, this is expected to be an Appsmith JSObject.
  3. Run npm build to generate the UMM file and a helpful README for your library.
  4. Commit and push your changes to a public Github repo.

Your library is ready for usage using JSDelivr. See the generated README for the link.

Repo management

Each library should be added to its own folder in the libraries directory as a single index.js file. This is intended to support simple libraries that are contained in a single file with few or no dependencies. The default expectation is that you can directly cut/paste an Appsmith JSObject into your index.js.

The repo used @rollup to process your code into a UDM file, and expects to use JSDelivr for CDN delivery.

Scripts

  • build - runs both the UMD & the readme file generation commands. In essence, it is the same as running umd.generate & readme.generate. This is the default command to update your repo when you add or update a library.
npm run build
  • readme.generate - used to generate a readme file for each library. It uses the jsDocLite library in this repo to parse the JSDoc comments out of the library index.js file. It will iterate over each library and save the README to that directory.
npm run readme.generate
  • umd.generate - used to generate the UMD code versions in the dist directory. This will iterate over every folder in the libraries directory and use the index.js in each one. The name of the folder will be the name of the library.
npm run umd.generate

Libraries availble

Here are the libraries available in this repo and how to use them. All of them are availble using JSDelivr so you can import them into your Appsmith app.

jsDocLite

This is a simple library that uses basic JSDoc style docblocks to comment your code and generate docs. We are actually using it in this repo to automatically generate a README for each library. It doesn't offer full JSDoc support, but the basics are good.


FAQ

  1. Can I remove the libraries in the original repo?
    Yes! The build command currently expects the jsDocLite library to be available. It uses the JSDelivr version of the library, so you can safely remove it from your clone of this repo.
  2. Why does this method require a public Github repository?
    Firstly, JSDelivr has a native Github integration that makes it easy for us to create a CDN URL without any registration or setup. Secondly, in order to work, both JSDelivr and the app need to be able to access the library over a public connection.
  3. Why did you create a JSDocLite library instead of using JSDoc?
    Partly because JSDoc is a bit overkill for our use case, and partly because we wanted a simple JSDoc parser that can be used client side... such a thing doesn't exist. Mostly - for fun.

Dev dependencies

  • npm
  • You will need the Rollup node modules for doing the UMD generation
  • The readme.generate command relies on the jsDocLite library, which is included as a CDN call to JSDelivr.

Todo

  • jsDocLite
    • Allow it to work with multiple comment lines
    • add @todo
  • Make readme generator easier to use with a template

Contributing

Contributions are always welcome! Open an issue or a PR!

License

MIT

foundry's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foundry's Issues

[TEMPLATE] Calendly clone with stripe integration

Describe the template
This App is the perfect clone of the Calendly app it has Stripe integration which makes the person who wants to have a meeting with the person needs to pay before he can schedule his meeting in the respective timing. The price for the meeting is set by the developer or the account user. This uses the meeting scheduler template from appsmith

Link to the public app
Link

Integrations and features
A list of specific integrations, data sources, and specific features

  • Google Calendar
  • Stripe API
  • Zoom API

JSON File
Meeting Scheduler Copy.json.zip

Screenshots

Screenshot 2022-10-16 at 11 45 43 AM

Screenshot 2022-10-16 at 11 45 31 AM
Screenshot 2022-10-16 at 11 45 31 AM

[TEMPLATE] QR Code Generator and Verifier

Describe the template
This app generates QR code and lets the users to verify the code by scanning on it.

Link to the public app
Link

Integrations and features
A list of specific integrations, data sources, and specific features
-QR code Generation API
-QR Code Scanner

JSON File
QR Code Generator.zip

Screenshots

Screenshot 2022-10-16 at 5 26 53 PM

Screenshot 2022-10-16 at 5 26 32 PM

Meeting Scheduler

Description

Scheduling team meeting without the hassle of back and forth conversations is passe. With this app, you can let anyone set up and create meetings. All you have to do is authorize your Google Calendar and share the app with anyone you would like to. You can completely customize the duration of meetings and let your friends and colleagues know when they can reach you. You can also add in multiple visitors, and if you have a meeting URL, you can also add that.

Schedule Team Meetings without the Hassle of Back-and-Forth Emails.

Integrations and features

A list of specific integrations, data sources, and specific features

  • Users can create unlimited custom meeting durations
  • Users can set their working hours on the settings page
  • You can schedule meetings at any available time while maintaining privacy
  • If you have a zoom account, you can add in meeting links, so no extra work is required
  • You can customize the meeting text to attach your meeting ID without any integration required.

Attachments

  • Link to app - Meeting Scheduler
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Kya Picture Dekhe? : An appsmith template app to connect to The Movie Database and view popular movies list.

Description

An Appsmith App, that connects to The Movie Database using REST API, and displays the popular movie list.
Upon clicking a title, it shows you the keywords of that movie and movies similar to that movie, and helps you in taking a decision to watch it.

Integrations and features

A list of specific integrations, data sources, and specific features

  • Datasource : Authenticated API
  • API : The Movie Database REST API
  • Table
  • Modal
  • Image
  • Video
  • List
  • Button
  • Pages
  • JSObjects
  • appsmith.store
  • progress bar
  • iframe
  • container
  • actions

Attachments

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] IT Asset Tracker

Description

Keep a track of an organization’s assets by assigning, and checking for any loss of assets or equipment, and ensure periodic maintenance.

Integrations and features

A list of specific integrations, data sources, and specific features

  • PostgreSQL
  • API
  • asset tracker
  • google maps navigation

Attachments

Screenshot 2022-10-25 at 9 27 38 PM

Screenshot 2022-10-25 at 9 27 31 PM

Screenshot 2022-10-25 at 9 27 13 PM

- [ ] **JSON Export** - Attach the [JSON export](https://drive.google.com/file/d/1NmwcP2G05-saSQ6Jc_B48h04uzQWfaMY/view?usp=sharing) for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

Business Management Portal

Description

A simple portal to manage your business orders or sales on the go.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
    Api used is of a company data you can inject your api and simply reflect the orders or business related things.

Attachments

Thank you I hope you find my simple project useful 😊.

[TEMPLATE] Login interface powered by Appsmith

Description

this is a working Login Interface showing functionality of entering username & password with submit button. This is purely designed to show UI created with Appsmith !

Integrations and features

  • UI Design
  • Username, Password input fields
  • Buttons and text fields

Attachments

  • Link to app - Link to the public app : Link

  • Screenshots - Add one or more screenshots to help show your app.
    Screenshot (15)

  • JSON Export - Attach the JSON export for your app to the issue. -> Login Interface.zip

[TEMPLATE] Marketing Portal

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

[TEMPLATE] Track your Chess.com Players : An Appsmith App for Chess Enthusiast and Fans

Description

Track your Chess.com Players : An Appsmith App for Chess Enthusiast and Fans
It helps you keep a tab of the players you are looking to track.

Track Players Screen

  • Shows player info (username, avatar, fullname, etc)
  • Shows their recent games this month,
    • sorted by latest games first
    • with brief game info (who played, who was black/white, who won)
    • shows the link to detailed games screen
  • Remove players from the list of players being track

Search Players Screen

  • Show a list of titled players
  • Filterable buttons for titled players list. Can filter to only see Grandmaster, Woman Grandmaster, etc other titles on Chess.com
  • Add a titled player to your track list
  • Search box to add any chess.com username to track
    • button to add as well as keyboard enter support.

Integrations and features

A list of specific integrations, data sources, and specific features

  • Chess.com REST API
  • Tables
  • Filters in Tables
  • Promises
  • JSObject
  • List
  • Image
  • Text
  • Progress
  • Button
  • appsmith store
  • storeValue
  • switch
  • Pages
  • Input
  • moment js
  • Container

Attachments

    • Add one or more screenshots to help show your app.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Character Count Tool using JS

Description

character count tool is an online tool that lets you easily calculate and count the number of characters, words, sentences, spaces and paragraphs in your text.

Also, learn how Javascript of how these are calculated to include in your code too!

Integrations and features

  • simple JS code snippets to easily learn
  • auto clear persistent storage on page load
  • auto calculate counts when text changes using JS

Attachments

Screenshots

image
image
image

Google Maps Navigation

Description

Guide your team with Google Maps directions, dynamically generated from your location or form a custom map pin added by the user.

Integrations and features

A list of specific integrations, data sources, and specific features

  • PostgreSQL
  • RestAPI
  • mockDB

Attachments

Screenshot 2022-10-25 at 9 03 11 PM

Screenshot 2022-10-25 at 9 02 55 PM

- [ ] **JSON Export** - [JSON-Export](https://drive.google.com/file/d/1KbXfsXn0O8PJDEHXTD8ZC9kqS7uVh_2B/view?usp=sharing)

[TEMPLATE] the standup app

Description

This app/template lets you document your thoughts at the start of each workday. Using this app gives teams an easy and quick peek into everyone's workload for the day, without time-consuming standups.

Integrations and features

A list of specific integrations, data sources, and specific features

  • storeValue() function that stores key-value data to access later anywhere in the app
  • table with all recent checkins
  • a way to delete all the data
  • store checkins for a daily standup along with mood/feeling

Attachments

Screenshots

image

image

image

Tourism management system

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Inventory Manager

Description

Inventory Manager helps your bussiness to control the stocks of every product in differents locations.

Note: It's a very simple implementation (developed for Hacktoberfest 2022) and some features are missing, but it's usable and beautiful :)

Integrations and features

Features

  • Create locations
  • Create inventories
  • Add items
  • Edit items

Integrations

  • Postgres

Attachments

[TEMPLATE] Movies Panel

Description

This app is a dashboard for searching, filtering and analyzing movies.

Integrations and features

  • Built-in Sample Movies Database in MongoDB
  • Gmail SMTP Integration
  • Carbone API Integration for Report Generation
  • Attach and send PDF files via Email
  • Loading Animation that hides individually loading widgets until all APIs have run.
  • Side Menu where the selected item is highlighted.
  • A Filter widget where the user can change the data shown in the dashboard.

Attachments

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] simple loan calculator

Description

a simple loan calculator is a handy tool available online that enables you to calculate your EMI amount with much ease. the calculator will show you the interest amount earned for the loan tenure and the principal amount too.

Integrations and features

You need to input three essential details in the simple loan calculator -

  • principal amount
  • time period
  • rate of interest

Attachments

Screenshots

image

image

[TEMPLATE] Competition Online Application Generator with receipt Generation

Describe the template
This app provides a way for the Applicants to apply for the competition with their information from the list of contests after successful submission of the application, the applicant can print their receipt for the proof of submission.

Link to the public app
https://app.appsmith.com/app/vilampatti-summer-camp-registeration/homepage-62874b337901344ba8d10472

Integrations and features
A list of specific integrations, data sources, and specific features

  • Mongo DB
  • Iframe widget for the printing

JSON File
Vilampatti Summer Camp Registeration.json.zip

[TEMPLATE] Title is here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] Quiz_a_Lang

Description

This template application, Quiz_a_Lang, is a small quiz-based game that allows novice programmers to choose a language based on their preferences along with links to get started with the language. These links have been handpicked from the communities of each language so they can really get the best of the best.

Integrations and features

A list of specific integrations, data sources, and specific features

  • Appsmith.Store

Attachments

No Image 2

{[TEMPLATE]} Title goes here

Description

A clear and concise description of what the template is and the use case it is intended to solve for.

Integrations and features

A list of specific integrations, data sources, and specific features

  • some DB
  • an API
  • table with update modal

Attachments

  • Link to app - Link to the public app
  • Screenshots - Add one or more screenshots to help show your app.
  • JSON Export - Attach the JSON export for your app to the issue.

[TEMPLATE] SendGrid Emailer Sender

Description

This template is designed to send emails to customers using SendGrid's API. The customers/emails information is being pulled from a dummy database and can be integrated with any API into a table. It's built on top of Sendgrid's mail send endpoint, and allows users to edit sender fields (like the sender email and name), email text and subject, as well as CC and BCC fields.

Integrations and features

A list of specific integrations, data sources, and specific features

  • Users/Customers Data (Dummy DB)
  • SendGrid API

Attachments

Screenshots

sendgrid-mailer-1

sendgrid-mailer-2

sendgrid-mailer

Video_Games

Description

A simple template for refreshing old vibes of video games.

Integrations and features

A list of specific integrations, data sources, and specific features

  • database
  • an API
  • table with entries
  • form for updation

Attachments

  • Link to app - Link to the public app

  • Screenshots

    • Data in the games table.

    image

    • Current page is filtered according to the year of release.

    image

    • Updated entry.

    image

    image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.