diff --git a/.github/helper/update_pot_file.sh b/.github/helper/update_pot_file.sh index 98a80aa7..4c2b94f6 100644 --- a/.github/helper/update_pot_file.sh +++ b/.github/helper/update_pot_file.sh @@ -22,7 +22,7 @@ git config user.name "jingrow-pr-bot" echo "Setting the correct git remote..." # Here, the git remote is a local file path by default. Let's change it to the upstream repo. -git remote set-url upstream https://github.com/jingrow/crm.git +git remote set-url upstream http://git.jingrow.com/jingrow/crm.git echo "Creating a new branch..." isodate=$(date -u +"%Y-%m-%d") diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index e49df994..ad5194cc 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -39,7 +39,7 @@ jobs: - name: Set Branch run: | - export APPS_JSON='[{"url": "https://github.com/${{ github.repository }}","branch": "${{ github.ref_name }}"}]' + export APPS_JSON='[{"url": "http://git.jingrow.com/${{ github.repository }}","branch": "${{ github.ref_name }}"}]' echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV echo "FRAPPE_BRANCH=${{ github.ref_type == 'tag' || github.ref_name == 'main' && 'version-15' || 'develop' }}" >> $GITHUB_ENV diff --git a/.gitmodules b/.gitmodules index e566d4ea..0ec8a526 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "jingrow-ui"] path = jingrow-ui - url = https://github.com/jingrow/jingrow-ui + url = http://git.jingrow.com/jingrow/jingrow-ui diff --git a/README.md b/README.md deleted file mode 100644 index fb95bf9c..00000000 --- a/README.md +++ /dev/null @@ -1,203 +0,0 @@ -
- - - Jingrow CRM Logo - - -

Jingrow CRM

- -**Simplify Sales, Amplify Relationships** - -[![GitHub release (latest by date)](https://img.shields.io/github/v/release/jingrow/crm)](https://github.com/jingrow/crm/releases) - -
- - - Jingrow CRM Hero Image - -
- -[Live Demo](https://frappecrm-demo.jingrow.cloud/api/method/crm.api.demo.login) - [Website](https://framework.jingrow.com/crm) - [Documentation](https://docs.jingrow.com/crm) - -
- -## Jingrow CRM - -Jingrow CRM is a simple, affordable, open-source CRM tool designed for modern sales teams with unlimited users. Jingrow CRM is crafted for providing a great user experience, packed with features for core CRM activities helping you build strong customer relationships while keeping things clean and organised. - -### Motivation - -The motivation behind building Jingrow CRM stems from the need for a simple, customizable, and open-source solution tailored to modern business needs. Many existing CRMs are either too complex, overly generic, or locked behind steep pricing models that hinder accessibility and flexibility. Jingrow CRM was designed to bridge this gap, offering a tool that empowers businesses to manage their customer relationships seamlessly while being easy to adapt to specific workflows. Built on the Jingrow framework, it prioritizes usability, extensibility, and affordability, making it an ideal choice for growing teams and organizations looking for a CRM that aligns with their unique processes. - -### Key Features - -- **User-Friendly and Flexible:** A simple, intuitive interface that’s easy to navigate and highly customizable, enabling teams to adapt it to their specific processes effortlessly. -- **All-in-One Lead/Deal Page:** Consolidate all essential actions and details—like activities, comments, notes, tasks, and more—into a single page for a seamless workflow experience. -- **Kanban View:** Manage leads and deals visually with a drag-and-drop Kanban board, offering clarity and efficiency in tracking progress across stages. -- **Custom Views:** Design personalized views to organize and display leads and deals using custom filters, sorting, and columns, ensuring quick access to the most relevant information. - -
- Screenshots - -
- - - Lead List - -
-
- - - Lead Page - -
-
- - - Email Template - -
-
- - - Call UI - -
-
- - - Call Log - -
- -
- -### Integrations - -- **Twilio:** Integrate Twilio to make and receive calls from the CRM. You can also record calls. It is a built-in integration. -- **Exotel:** Integrate Exotel to make and receive calls via agents mobile phone from the CRM. You can also record calls. It is a built-in integration. -- **WhatsApp:** Integrate WhatsApp to send and receive messages from the CRM. [Jingrow WhatsApp](https://github.com/shridarpatil/jingrow_whatsapp) is used for this integration. -- **ERPNext:** Integrate with [ERPNext](https://erpnext.com) to extend the CRM capabilities to include invoicing, accounting, and more. - -### Under the Hood - -- [Jingrow Framework](https://github.com/jingrow/jingrow): A full-stack web application framework. -- [Jingrow UI](https://github.com/jingrow/jingrow-ui): A Vue-based UI library, to provide a modern user interface. - -### Compatibility -This app is compatible with the following versions of Jingrow and ERPNext: - -| CRM branch | Stability | Jingrow branch | ERPNext branch | -| :-------------------- | :-------- | :------------------- | :------------------- | -| main - v1.x | stable | v15.x | v15.x | -| develop - future/v2.x | unstable | develop - future/v16 | develop - future/v16 | - -## Getting Started (Production) - -### Managed Hosting - -Get started with your personal or business site with a few clicks on Jingrow Cloud - our official hosting service. -
- - - - Try on Jingrow Cloud - - -
- -### Self Hosting - -Follow these steps to set up Jingrow CRM in production: - -**Step 1**: Download the easy install script - -```bash -wget https://framework.jingrow.com/easy-install.py -``` - -**Step 2**: Run the deployment command - -```bash -python3 ./easy-install.py deploy \ - --project=crm_prod_setup \ - --email=email.example.com \ - --image=ghcr.io/jingrow/crm \ - --version=stable \ - --app=crm \ - --sitename subdomain.domain.tld -``` - -Replace the following parameters with your values: - -- `email.example.com`: Your email address -- `subdomain.domain.tld`: Your domain name where CRM will be hosted - -The script will set up a production-ready instance of Jingrow CRM with all the necessary configurations in about 5 minutes. - -## Getting Started (Development) - -### Local Setup - -1. [Setup Bench](https://docs.jingrow.com/framework/user/en/installation). -1. In the jingrow-bench directory, run `bench start` and keep it running. -1. Open a new terminal session and cd into `jingrow-bench` directory and run following commands: - ```sh - $ bench get-app crm - $ bench new-site sitename.localhost --install-app crm - $ bench browse sitename.localhost --user Administrator - ``` -1. Access the crm page at `sitename.localhost:8000/crm` in your web browser. - -**For Frontend Development** -1. Open a new terminal session and cd into `jingrow-bench/apps/crm`, and run the following commands: - ``` - yarn install - yarn dev - ``` -1. Now, you can access the site on vite dev server at `http://sitename.localhost:8080` - -**Note:** You'll find all the code related to Jingrow CRM's frontend inside `jingrow-bench/apps/crm/frontend` - -### 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 jingrow-crm - cd jingrow-crm - - # Download the docker-compose file - wget -O docker-compose.yml https://raw.githubusercontent.com/jingrow/crm/develop/docker/docker-compose.yml - - # Download the setup script - wget -O init.sh https://raw.githubusercontent.com/jingrow/crm/develop/docker/init.sh - -**Step 2**: Run the container and daemonize it - - docker compose up -d - -**Step 3**: The site [http://crm.localhost:8000/crm](http://crm.localhost:8000/crm) should now be available. The default credentials are: - -- Username: Administrator -- Password: admin - -## Learn and connect - -- [Telegram Public Group](https://t.me/frappecrm) -- [Discuss Forum](https://discuss.jingrow.com/c/jingrow-crm) -- [Documentation](https://docs.jingrow.com/crm) -- [YouTube](https://www.youtube.com/channel/UCn3bV5kx77HsVwtnlCeEi_A) -- [X/Twitter](https://x.com/frappetech) - -
-
-
- - - - JINGROW - - -
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml deleted file mode 100644 index ed8ad665..00000000 --- a/docker/docker-compose.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: "3.7" -name: crm -services: - mariadb: - image: mariadb:10.8 - command: - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_unicode_ci - - --skip-character-set-client-handshake - - --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6 - environment: - MYSQL_ROOT_PASSWORD: 123 - volumes: - - mariadb-data:/var/lib/mysql - - redis: - image: redis:alpine - - jingrow: - image: jingrow/bench:latest - command: bash /workspace/init.sh - environment: - - SHELL=/bin/bash - working_dir: /home/jingrow - volumes: - - .:/workspace - ports: - - 8000:8000 - - 9000:9000 - -volumes: - mariadb-data: \ No newline at end of file diff --git a/docker/init.sh b/docker/init.sh deleted file mode 100644 index 47fd5a92..00000000 --- a/docker/init.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!bin/bash - -if [ -d "/home/jingrow/jingrow-bench/apps/jingrow" ]; then - echo "Bench already exists, skipping init" - cd jingrow-bench - bench start -else - echo "Creating new bench..." -fi - -bench init --skip-redis-config-generation jingrow-bench --version version-15 - -cd jingrow-bench - -# Use containers instead of localhost -bench set-mariadb-host mariadb -bench set-redis-cache-host redis://redis:6379 -bench set-redis-queue-host redis://redis:6379 -bench set-redis-socketio-host redis://redis:6379 - -# Remove redis, watch from Procfile -sed -i '/redis/d' ./Procfile -sed -i '/watch/d' ./Procfile - -bench get-app crm --branch main - -bench new-site crm.localhost \ - --force \ - --mariadb-root-password 123 \ - --admin-password admin \ - --no-mariadb-socket - -bench --site crm.localhost install-app crm -bench --site crm.localhost set-config developer_mode 1 -bench --site crm.localhost set-config mute_emails 1 -bench --site crm.localhost set-config server_script_enabled 1 -bench --site crm.localhost clear-cache -bench use crm.localhost - -bench start \ No newline at end of file diff --git a/frappe-ui b/frappe-ui deleted file mode 160000 index c9a0fc93..00000000 --- a/frappe-ui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c9a0fc937cc897864857271b3708a0c675379015 diff --git a/frontend/README.md b/frontend/README.md index 2958afe3..a51f37ee 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -37,6 +37,6 @@ To change this, open `src/router.js` and change the base URL passed to `createWe - [Vue 3](https://v3.vuejs.org/guide/introduction.html) - [Vue Router](https://next.router.vuejs.org/guide/) -- [Jingrow UI](https://github.com/jingrow/jingrow-ui) +- [Jingrow UI](http://git.jingrow.com/jingrow/jingrow-ui) - [TailwindCSS](https://tailwindcss.com/docs/utility-first) - [Vite](https://vitejs.dev/guide/) diff --git a/frontend/components.d.ts b/frontend/components.d.ts index ab01b40e..338a84f2 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -1,7 +1,7 @@ /* eslint-disable */ // @ts-nocheck // Generated by unplugin-vue-components -// Read more: https://github.com/vuejs/core/pull/3399 +// Read more: http://git.jingrow.com/vuejs/core/pull/3399 // biome-ignore lint: disable export {} diff --git a/frontend/src/components/Modals/AboutModal.vue b/frontend/src/components/Modals/AboutModal.vue index 3ff2b29e..7e05a3a8 100644 --- a/frontend/src/components/Modals/AboutModal.vue +++ b/frontend/src/components/Modals/AboutModal.vue @@ -55,7 +55,7 @@ let links = [ }, { label: __('GitHub Repository'), - url: 'https://github.com/jingrow/crm', + url: 'http://git.jingrow.com/jingrow/crm', icon: LucideGitHub, }, { @@ -70,7 +70,7 @@ let links = [ }, { label: __('Report an Issue'), - url: 'https://github.com/jingrow/crm/issues', + url: 'http://git.jingrow.com/jingrow/crm/issues', icon: LucideBug, }, { diff --git a/frontend/src/components/Settings/emailConfig.js b/frontend/src/components/Settings/emailConfig.js index c784964e..0d88ae43 100644 --- a/frontend/src/components/Settings/emailConfig.js +++ b/frontend/src/components/Settings/emailConfig.js @@ -145,7 +145,7 @@ export const services = [ info: __( `Setting up Jingrow Mail requires you to have an API key and API Secret of your email account. Read more `, ), - link: 'https://github.com/jingrow/mail', + link: 'http://git.jingrow.com/jingrow/mail', custom: true, }, ] diff --git a/frontend/src/components/frappe-ui/Autocomplete.vue b/frontend/src/components/jingrow-ui/Autocomplete.vue similarity index 100% rename from frontend/src/components/frappe-ui/Autocomplete.vue rename to frontend/src/components/jingrow-ui/Autocomplete.vue diff --git a/frontend/src/components/frappe-ui/Dropdown.vue b/frontend/src/components/jingrow-ui/Dropdown.vue similarity index 100% rename from frontend/src/components/frappe-ui/Dropdown.vue rename to frontend/src/components/jingrow-ui/Dropdown.vue diff --git a/frontend/src/components/frappe-ui/Popover.vue b/frontend/src/components/jingrow-ui/Popover.vue similarity index 96% rename from frontend/src/components/frappe-ui/Popover.vue rename to frontend/src/components/jingrow-ui/Popover.vue index 8c5284c9..77f8f607 100644 --- a/frontend/src/components/frappe-ui/Popover.vue +++ b/frontend/src/components/jingrow-ui/Popover.vue @@ -14,7 +14,7 @@ v-bind="{ togglePopover, updatePosition, open, close, isOpen }" /> - +
{ const isDev = mode === 'development' - const frappeui = await importFrappeUIPlugin(isDev) + const jingrowui = await importFrappeUIPlugin(isDev) const config = { plugins: [ - frappeui({ + jingrowui({ frappeProxy: true, lucideIcons: true, jinjaBootData: true, diff --git a/package.json b/package.json index aed5a44a..bd0964fd 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,6 @@ "postinstall": "cd frontend && yarn install", "dev": "cd frontend && yarn dev", "build": "cd frontend && yarn build", - "upgrade-frappeui": "cd frontend && yarn add jingrow-ui@latest && cd .." + "upgrade-jingrowui": "cd frontend && yarn add jingrow-ui@latest && cd .." } }