Go to file
Rishabh Saxena a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

* Controlled comment thread visibility for making new comments visible by default

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

* fix close on esc key, dont create new comment on outside click

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

* Show view latest button, scroll to bottom on creating a new comment

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

* Minor fixes: comment on top of all widgets, add toggle button at viewer header

* Reconnect socket on creating a new app, set connected status in store

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

* Fix: check if editor/viewer is initialised before waiting for init action

* Add tests for comments reducer

* Revert "ENV var to set if comments are enabled"

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

* Ignore dependency-reduced-pom.xml files from VCS

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

* Added human readable id to comment threads, fallback to username for null name in user document

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +05:30
.github Add better code coverage comments (#4140) 2021-04-26 16:21:52 +05:30
app Initialise comments (#3328) 2021-04-29 16:03:51 +05:30
contributions Merge branch 'master' into release 2021-03-05 12:06:14 +05:30
deploy Fix password generation and OS case problems in install scripts (#4184) 2021-04-27 20:43:22 +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 [Feature] Grid Widget (#2389) 2021-04-23 11:13:13 +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 summary for google sheet live demo 2021-04-23 08:58:07 +01:00
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

💻