Go to file
Nidhi 6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

* Merge branch 'release' into feature/google-sheets

* Merge branch 'release' into feature/google-sheets

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

* Merge branch 'release' into feature/google-sheets

* minor cleanup

* Merge branch 'release' into feature/google-sheets

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

* Merge branch 'release' into feature/google-sheets

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

* Modified design to allow behaviour in google sheets methods (#3486)

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

* Merge branch 'release' into feature/google-sheets

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

* Changes to Google sheets plugin's request and response structures (#3692)

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

* List SAAS plugin type actions under lightning menu apis (#3820)

* list saas plugin type actions under lightning menu apis

* combine saas plugin type actions in the other sub menu of lightning menu

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


Co-authored-by: hetunandu <hetu@appsmith.com>

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

* Fixed tests, typos and creating new sheets with random rows

* Switched to using 'rowIndex' throughout

* binding path added for query input field (#4016)

* - Fixed QA bugs (#4032)

- Split delete sheet into two
- Removed dynamic query input types from hidden keys

* Proper exceptions

* Removed extra logging

* Throw exception if update method does not match any of the columns

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30
.github Set explicit Java version for CI (#4091) 2021-04-21 19:15:02 +05:30
app Introducing Google Sheets Plugin (#3517) 2021-04-22 09:00:09 +05:30
contributions Merge branch 'master' into release 2021-03-05 12:06:14 +05:30
deploy Modify curl --data-raw option to --data (#3973) 2021-04-14 08:01:49 +05:30
static [ImgBot] Optimize images (#2384) 2021-01-07 11:23:35 +05:30
.all-contributorsrc docs: add navdeepsingh as a contributor (#3926) 2021-04-08 22:16:53 +05:30
.deepsource.toml Create .deepsource.toml (#3593) 2021-03-19 11:40:59 +05:30
.env.example Introducing Google Sheets Plugin (#3517) 2021-04-22 09:00:09 +05:30
.gitignore Refactor and add unit tests to API interceptors (#3647) 2021-03-22 14:52:24 +05:30
.imgbotconfig Added imgbot config file (#1655) 2020-11-09 17:52:53 +05:30
API.png [ImgBot] Optimize images (#1513) 2020-11-02 19:44:01 +05:30
app.json Updating app.json for Heroku deploy 2021-02-19 17:29:54 +05:30
CODE_OF_CONDUCT.md Readme (#11) 2020-07-01 16:42:41 +05:30
CONTRIBUTING.md Update CONTRIBUTING.md 2021-01-27 18:07:13 +05:30
coverage-summary.json Add support of component unit testing (#3828) 2021-04-02 15:17:16 +05:30
heroku.yml Heroku Button implementation (#1721) 2020-11-18 18:53:59 +05:30
IssuesReport.md Feature/hacktoberfest (#841) 2020-09-30 23:23:10 +05:30
LICENSE Readme (#11) 2020-07-01 16:42:41 +05:30
office_hours.md chore: Adds office hours update for Mar 8 (#3479) 2021-03-30 16:28:26 +05:30
Query.png [ImgBot] Optimize images (#1513) 2020-11-02 19:44:01 +05:30
README.md Update links and add GraphQL tutorial (#4027) 2021-04-20 11:15:21 +05:30
SECURITY.md Creating SECURITY.md for reporting security vulnerabilities 2020-12-12 22:12:49 +05:30

Appsmith.com logo
Build and self-host all your internal apps.

Try Online Sandbox

Documentation · Discord · Office Hours


Appsmith is a JavaScript-based visual development platform to build and launch internal tools quickly. Drag-and-drop pre-built widgets, and connect them using JavaScript to create interactive pages. Connect UI to your APIs and Databases to build complex workflows in minutes.

UI Components: Table, Chart, Form, Map, Image, Video, and many more.
API Support: REST APIs, OAuth 2.0, CURL
Database Support: PostgreSQL, MongoDB, MySQL, Firestore, S3, Redshift, Elastic Search, DynamoDB, Redis, and MSFT SQL Server
Hosting: Cloud-hosted & On-premise

Already familiar with Appsmith? Quickly start building on your own.

🏭 Features

  • 5-minute setup: Deploy Appsmith on your server, or use our cloud version to start building in 5 minutes. Quick Start
  • Frontend as a service: Drag-and-drop from pre-built UI widgets like table, form, and image, to build sophisticated dashboards and workflows, without writing HTML/CSS. Write JavaScript anywhere to transform data, and dynamically control widget-properties.
  • Database CRUD: Query & update your database directly by connecting it to the UI. Connect to PostgreSQL, MongoDB, MySQL & more!
  • Trigger APIs: Connect to REST APIs to build custom apps.
  • Security: DB Credentials are AES 256 encrypted and no data is stored by appsmith. Deploy behind your private VPC for additional security!
  • One-click deployment: Managed deployment of your apps with a click of a button.
  • Access-control: Assign users different roles & control who can edit / view your applications.
  • Supports OAuth: Allow users to authenticate via Google Auth or GitHub Auth.

📺 Demo

Unsure if Appsmith is for you? Watch it in action here!

But if youd rather check out some real applications that can be built with Appsmith, check below:

🏃‍♀️ Quickstart

The following steps introduce you to building a simple user-list dashboard on Appsmith.

  1. Sign up on Appsmith Cloud or Deploy Appsmith.
  2. Create a new app within the organization that has already been created for you.
  3. Click on the + icon next to the Queries section to add a new query in the mock database
    1. Name the query usersQuery.
    2. Write the query select * from users limit 5;.
    3. Run the query.
  4. Click on the + icon next to the Widgets section and drag a table onto the screen
  5. Link the table data property to the usersQuery using JavaScript {{usersQuery.data}}
  6. Hit the Deploy button and checkout the view mode of the app.

Congratulations 🎉 You just built your first app on Appsmith! Connect your own data to build apps for your team. Read more here.

📚 Tutorials

  1. Building an Admin Panel on MongoDB using Appsmith (Video)
  2. Building a Customer Support Dashboard in Appsmith
  3. Building a Store Catalogue Management System using Appsmith and GraphQL
  4. Running CI/CD Jobs Manually using Appsmith (Video)
  5. Building a Calendly Clone in Appsmith
  6. Building Internal Tools with Appsmith Community
  7. Building an Issue Tracker with Appsmith Community

📕 Support & Troubleshooting

If you encountered a bug or need help troubleshooting an issue, you can use one of the following channels:

🧑‍🤝‍🧑 Contributing

If you're interested in contributing to Appsmith:

  1. Start by reading our Contribution Guide.
  2. Learn how to set up your local environment, in our developer-guide.
  3. Explore our list of good first issues.

We are committed to fostering an open and welcoming environment in the community. Please read our Code of Conduct.

📑 License

The Appsmith platform is available under the Apache License 2.0 (Apache-2.0).

Contributors


Arpit Mohan

💻

Nikhil Nandagopal

📖 💻 📆

areyabhishek

🤔 🎨

Trisha Anand

💻 🚇 🤔

Hetu Nandu

💻 ⚠️ 🤔

Abhinav Jha

💻

satbir121

💻 🤔

Shrikant Sharat Kandula

💻 🔌

Aakash Shrivastava

🎨

Debsourabh Ghosh

🎨

NandanAnantharamu

⚠️

prapullac

🐛 ⚠️

Saket Agrawal

🐛 📖

Harish Kotra

🐛

Ajay Kumar

🐛 📖

Anshul Bansal

🐛 💻

Navia Garg

🐛

Xniveres

🐛

Daniel Shuy

💻 📖

Prashant Chaubey

💻

Adam

💻

Sumanth Yedoti

💻

Nidhi

💻

Pawan Kumar

💻

Sumit Kumar

💻

Rishabh Saxena

💻

Piyush Mishra

💻

akash-codemonk

💻

vicky-primathon

💻

devrk96

💻

Tim Dillon

💻

Zeger Hoogeboom

💻

Young Yoo

💻

Dwayne Forde

💻 ⚠️

Abhishek

💻

Navdeep Singh

💻