Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): dev to main #2079

Merged
merged 55 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
982b48f
refactor: init agent-list-view
RitvikSardana Nov 26, 2024
7c2b96b
chore: code cleanup
RitvikSardana Nov 26, 2024
bea0a81
Merge branch 'develop' of https://github.com/frappe/helpdesk into ref…
RitvikSardana Nov 26, 2024
4268bed
Merge branch 'develop' of https://github.com/frappe/helpdesk into ref…
RitvikSardana Nov 28, 2024
45129f5
Merge branch 'develop' of https://github.com/frappe/helpdesk into ref…
RitvikSardana Dec 2, 2024
dec3dea
fix: implement filters in agents list view
RitvikSardana Dec 2, 2024
f9a6bca
fix: add sortby view control in listview
RitvikSardana Dec 2, 2024
ec0f12b
fix: add quick filter in view controls for list view
RitvikSardana Dec 3, 2024
0a0df16
fix: handle link fields in filters
RitvikSardana Dec 3, 2024
f8016df
chore: code cleanup
RitvikSardana Dec 3, 2024
f82fdaa
fix: agents could change customers in the ticket
RitvikSardana Dec 3, 2024
b4751b9
fix: filter and sort in sync
RitvikSardana Dec 3, 2024
1f8bab8
fix(styles): view controls styling
RitvikSardana Dec 3, 2024
c3d95c7
fix: handle pagination
RitvikSardana Dec 3, 2024
72964bc
fix: filter not showing options
RitvikSardana Dec 4, 2024
ec1507b
chore: code cleanup
RitvikSardana Dec 4, 2024
aeacef8
feat: list view builder
RitvikSardana Dec 5, 2024
a85bea8
fix: filter component should have default filters prop
RitvikSardana Dec 5, 2024
fc7a85c
fix: use list view builder in agents page
RitvikSardana Dec 5, 2024
baca342
chore: code cleanup
RitvikSardana Dec 5, 2024
d45085b
fix: change default columns in hd agent
RitvikSardana Dec 5, 2024
e2a9e72
fix: add support for adding prefix in rows and fetch from fields
RitvikSardana Dec 5, 2024
5fe880c
fix: add support for prefix and datetime formatting
RitvikSardana Dec 6, 2024
df71a0b
chore: update frappe-ui
RitvikSardana Dec 6, 2024
24ff6bb
fix: custom list view
RitvikSardana Dec 6, 2024
faa459e
chore: code cleanup
RitvikSardana Dec 6, 2024
e2e0b75
refactor: teams page with list view builder
RitvikSardana Dec 7, 2024
54ae7eb
fix: page meta for tickets and canned responses page
RitvikSardana Dec 7, 2024
06d985a
fix: handle Row clicks
RitvikSardana Dec 7, 2024
cd94367
refactor: customer list-view
RitvikSardana Dec 7, 2024
0011851
chore: rename customerlist to customers
RitvikSardana Dec 7, 2024
fd898a7
refactor: customer and contact list view
RitvikSardana Dec 9, 2024
8dda0a5
fix: add default fields for contact doctype
RitvikSardana Dec 9, 2024
b69dbae
chore: version bump
RitvikSardana Dec 4, 2024
9675dcb
chore: code cleanup
RitvikSardana Dec 9, 2024
bf8a679
fix: list view column width
RitvikSardana Dec 9, 2024
8af9c21
fix: ignore sempgrep
RitvikSardana Dec 9, 2024
45102c2
fix(ci): sempgrep ignore
RitvikSardana Dec 9, 2024
7ff85a9
chore: code cleanup
RitvikSardana Dec 9, 2024
fc95ce7
chore: code cleanup
RitvikSardana Dec 10, 2024
102dacc
fix(styles): mobile view for list view builder
RitvikSardana Dec 10, 2024
23fddc3
fix(logo): update customers logo in sidebar
RitvikSardana Dec 10, 2024
e7e4009
Merge pull request #2063 from RitvikSardana/refactor-listview
RitvikSardana Dec 10, 2024
76adbbb
fix: hd settings better ui
RitvikSardana Dec 10, 2024
393bc25
chore: hd settings cleanup
RitvikSardana Dec 10, 2024
cbf6573
Merge pull request #2076 from RitvikSardana/settings-update
RitvikSardana Dec 10, 2024
8b9062e
feat: docker setup
RitvikSardana Dec 10, 2024
48b7d52
Merge pull request #2077 from RitvikSardana/docker-setup
RitvikSardana Dec 10, 2024
4a9e586
chore: update readme
RitvikSardana Dec 10, 2024
f56fc21
chore: update readme
RitvikSardana Dec 10, 2024
2b9315e
chore: update readme
RitvikSardana Dec 10, 2024
c73e04d
chore: update readme
RitvikSardana Dec 10, 2024
e71a3d4
fix: telemetry should not stored in local storage
RitvikSardana Dec 10, 2024
5eda51d
fix: init telemetry in main.js
RitvikSardana Dec 11, 2024
9cd783f
Merge pull request #2078 from RitvikSardana/telemetry-localhost
RitvikSardana Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 143 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,161 @@
<div align="center" markdown="1">
<a href="https://frappedesk.com/">
<img src=".github/hd-logo.svg" height="128" alt="Frappe Helpdesk Logo">
</a>
<h2>Frappe Helpdesk</h2>
<p align="center">
<p>Modern, Streamlined, Customer Service Software</p>
</p>

[frappedesk.com](https://frappedesk.com)

<div align="center" style="max-height: 40px;">
<a href="https://frappecloud.com/helpdesk/signup">
<img src=".github/try-on-f-cloud-button.svg" height="50">
</a>

<img src=".github/hd-logo.svg" alt="Frappe Helpdesk logo" width="100"/>
<h1>Frappe Helpdesk</h1>

**Open Source Business Intelligence Tool**

![GitHub release (latest by date)](https://img.shields.io/github/v/release/frappe/helpdesk)
[![codecov](https://codecov.io/github/frappe/helpdesk/branch/develop/graph/badge.svg?token=8ZXHCY4G9U)](https://codecov.io/github/frappe/helpdesk)

</div>


<div align="center">
<img src="./screenshot.webp" alt="Hero Image" width="72%" />
</div>
<br />
<div align="center">
<a href="https://frappe.io/helpdesk">Website</a>
-
<a href="https://docs.frappe.io/helpdesk">Documentation</a>
</div>

---
## Frappe Helpdesk
Frappe Helpdesk is an 100% open-source Ticket Management tool which helps you streamline your company's support, offers an easy setup, clean user interface, and automation tools to resolve customer queries efficiently.



## Motivation
Managing issues from our customers was a big challenge for us. We were using the ERPNext support module which was not very good in UI and the UX was also not good. We wanted to have a tool that can be easily integrated with our existing system and can be customized as per our needs. So we decided to build a Helpdesk tool that can be easily integrated with our existing system and can be customized as per our needs.

Frappe Helpdesk offers an easy setup, clean user interface, and automation tools to resolve customer issues efficiently. It is based on Frappe Framework. It lets you streamline your company's support and helps you to efficiently manage your customer queries. It can help you to,
## Key Features

- Create tickets from email or help center
- Empower customers with a comprehensive knowledge base and self-service portal
- Automate redundant tasks like agent assignment and set up triggers to notify agents and customers based on certain events
- **Agent and Customer Portal Views**: Dual portals for agents and customers to simplify issue submission and management.

![screenshot](./screenshot.webp)
- **Customizable SLAs**: Discover how you can set and track SLAs for better response times.

## Installation
- **Assignment Rules**: Custom auto-assignment of tickets based on priority, issue type, or workload.

1. Install and setup bench by following [this guide](https://frappeframework.com/docs/user/en/installation)
2. In the bench directory, run `bench start` and keep it running
3. Open another terminal in bench directory, and run these commands
- **Email Account Setup**: Set up email accounts to automatically create tickets from incoming emails. Choose from various Mail providers like Frappe Mail, Gmail, Outlook, Sendgrid, Sparkpost, Yahoo, Yandex, etc.

```
bench get-app helpdesk
bench new-site helpdesk.test
bench --site helpdesk.test install-app helpdesk
bench --site helpdesk.test add-to-hosts
```
- **Canned Responses**: Pre-written replies for common queries to ensure quick and consistent communication.

You can now access Helpdesk at `http://helpdesk.test`
5. You can also run a development server by following theses steps, in Helpdesk
directory (`apps/helpdesk`)
- **Knowledge Base**: Learn how to create and manage help articles to empower users and reduce tickets.

```
yarn
yarn dev
```

Development server will be now available at `http://localhost:8080`

## Contributions and Community
<details>
<summary>Screenshots</summary>

There are many ways you can contribute even if you don't code:
![Helpdesk SS1](.github/query-builder.png)
![Helpdesk SS1](.github/join-editor.png)
![Helpdesk SS1](.github/chart-builder.png)
</details>


## Under the Hood

- [**Frappe Framework**](https://github.com/frappe/frappe): A full-stack web application framework written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.

- [**Frappe UI**](https://github.com/frappe/frappe-ui): A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework.


## Production Setup

### Managed Hosting

You can try [Frappe Cloud](https://frappecloud.com), a simple, user-friendly and sophisticated [open-source](https://github.com/frappe/press) platform to host Frappe applications with peace of mind.

It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.

<div>
<a href="https://frappecloud.com/helpdesk/signup" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/try-on-fc-white.png">
<img src="https://frappe.io/files/try-on-fc-black.png" alt="Try on Frappe Cloud" height="28" />
</picture>
</a>
</div>

1. You can start by giving a star to this repository!
2. If you find any issues, even if it is a typo, you can [raise an issue](https://github.com/frappe/desk/issues/new) to inform us.
3. Join our [Telegram group](https://t.me/frappedesk) and share your thoughts.
### Self Hosting

## License
Follow these steps to set up Frappe Helpdesk in production:

[GNU Affero General Public License v3.0](/licence.md)
**Step 1**: Download the easy install script

```bash
wget https://frappe.io/easy-install.py
```

**Step 2**: Run the deployment command

```bash
python3 ./easy-install.py deploy \
--project=helpdesk_prod_setup \
--email=your_email.example.com \
--image=ghcr.io/frappe/helpdesk \
--version=stable \
--app=helpdesk \
--sitename subdomain.domain.tld
```

Replace the following parameters with your values:
- `your_email.example.com`: Your email address
- `subdomain.domain.tld`: Your domain name where Helpdesk will be hosted

The script will set up a production-ready instance of Frappe Helpdesk with all the necessary configurations in about 5 minutes.

## Development Setup

### Docker

You need Docker, docker-compose and git setup on your machine. Refer [Docker documentation](https://docs.docker.com/). After that, follow below steps:

**Step 1**: Setup folder and download the required files

mkdir frappe-helpdesk
cd frappe-helpdesk

# Download the docker-compose file
wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/docker-compose.yml

# Download the setup script
wget -O init.sh https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/init.sh

**Step 2**: Run the container and daemonize it

docker compose up -d

**Step 3**: The site [http://helpdesk.localhost:8000/helpdesk](http://helpdesk.localhost:8000/helpdesk) should now be available. The default credentials are:
- Username: Administrator
- Password: admin

### Local

To setup the repository locally follow the steps mentioned below:

1. Install bench and setup a `frappe-bench` directory by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation)
1. Start the server by running `bench start`
1. In a separate terminal window, create a new site by running `bench new-site helpdesk.test`
1. Map your site to localhost with the command `bench --site helpdesk.test add-to-hosts`
1. Get the Helpdesk app. Run `bench get-app https://github.com/frappe/helpdesk`
1. Run `bench --site helpdesk.test install-app helpdesk`.
1. Now open the URL `http://helpdesk.test:8000/helpdesk` in your browser, you should see the app running

## Learn and connect

- [Telegram Public Group](https://t.me/frappedesk)
- [Discuss Forum](https://discuss.frappe.io/c/frappehelpdesk/69)
- [Documentation](https://docs.frappe.io/helpdesk)
- [YouTube]([https://frappe.io](https://www.youtube.com/@frappetech))

<h2></h2>
<div align="center" style="padding-top: 0.75rem;">
<a href="https://frappe.io" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/Frappe-white.png">
<img src="https://frappe.io/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>
</picture>
</a>
</div>
103 changes: 52 additions & 51 deletions desk/package.json
Original file line number Diff line number Diff line change
@@ -1,53 +1,54 @@
{
"name": "helpdesk-ui",
"private": true,
"version": "0.0.0",
"scripts": {
"dev": "vite",
"preview": "vite preview",
"build": "vite build --base=/assets/helpdesk/desk/ && yarn copy-html-entry",
"serve": "vite preview",
"copy-html-entry": "cp ../helpdesk/public/desk/index.html ../helpdesk/www/helpdesk/index.html"
},
"dependencies": {
"@headlessui/vue": "^1.7.22",
"@iconify-json/lucide": "^1.1.99",
"@iconify-json/ph": "^1.1.5",
"@iconify/tools": "^2.2.6",
"@iconify/vue": "^4.1.1",
"@tailwindcss/line-clamp": "^0.4.4",
"@tailwindcss/typography": "^0.5.9",
"@tiptap/core": "^2.2.4",
"@vee-validate/zod": "^4.8.2",
"@vitejs/plugin-vue": "^4.0.0",
"@vueuse/core": "^10.0.2",
"autoprefixer": "^10.4.13",
"dayjs": "^1.11.7",
"echarts": "^5.4.1",
"frappe-ui": "^0.1.53",
"lodash": "^4.17.21",
"lucide-static": "^0.276.0",
"mime": "^3.0.0",
"mitt": "^3.0.1",
"pinia": "^2.0.33",
"pluralize": "^8.0.0",
"sanitize-html": "^2.10.0",
"socket.io-client": "^4.7.2",
"tailwindcss": "^3.2.7",
"unplugin-icons": "^0.16.1",
"unplugin-vue-components": "^0.25.2",
"vee-validate": "^4.8.2",
"vite": "^4.4.9",
"vue": "^3.4.12",
"vue-echarts": "^6.5.4",
"vue-router": "^4.2.2",
"vuedraggable": "^4.1.0",
"zod": "^3.21.4"
},
"resolutions": {
"cheerio": "1.0.0-rc.12"
},
"devDependencies": {
"vite-plugin-pwa": "^0.20.5"
}
"name": "helpdesk-ui",
"private": true,
"version": "0.0.0",
"scripts": {
"dev": "vite",
"preview": "vite preview",
"build": "vite build --base=/assets/helpdesk/desk/ && yarn copy-html-entry",
"serve": "vite preview",
"copy-html-entry": "cp ../helpdesk/public/desk/index.html ../helpdesk/www/helpdesk/index.html"
},
"dependencies": {
"@headlessui/vue": "^1.7.22",
"@iconify-json/lucide": "^1.1.99",
"@iconify-json/ph": "^1.1.5",
"@iconify/tools": "^2.2.6",
"@iconify/vue": "^4.1.1",
"@tailwindcss/line-clamp": "^0.4.4",
"@tailwindcss/typography": "^0.5.9",
"@tiptap/core": "^2.2.4",
"@vee-validate/zod": "^4.8.2",
"@vitejs/plugin-vue": "^4.0.0",
"@vueuse/core": "^10.0.2",
"@vueuse/integrations": "^12.0.0",
"autoprefixer": "^10.4.13",
"dayjs": "^1.11.7",
"echarts": "^5.4.1",
"frappe-ui": "^0.1.53",
"lodash": "^4.17.21",
"lucide-static": "^0.276.0",
"mime": "^3.0.0",
"mitt": "^3.0.1",
"pinia": "^2.0.33",
"pluralize": "^8.0.0",
"sanitize-html": "^2.10.0",
"socket.io-client": "^4.7.2",
"tailwindcss": "^3.2.7",
"unplugin-icons": "^0.16.1",
"unplugin-vue-components": "^0.25.2",
"vee-validate": "^4.8.2",
"vite": "^4.4.9",
"vue": "^3.4.12",
"vue-echarts": "^6.5.4",
"vue-router": "^4.2.2",
"vuedraggable": "^4.1.0",
"zod": "^3.21.4"
},
"resolutions": {
"cheerio": "1.0.0-rc.12"
},
"devDependencies": {
"vite-plugin-pwa": "^0.20.5"
}
}
1 change: 0 additions & 1 deletion desk/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ onMounted(async () => {
iconClasses: "stroke-red-600",
});
});
await initTelemetry();
});

onUnmounted(() => {
Expand Down
Loading
Loading