diff --git a/bin/validate.js b/bin/validate.js
index 2b9274734..cdf931123 100755
--- a/bin/validate.js
+++ b/bin/validate.js
@@ -165,7 +165,10 @@ try {
throw new Error(`Incorrect file type, expected PNG or SVG: ${filePath}`)
}
- if (!Object.values(technologies).some(({ icon }) => icon === file)) {
+ if (
+ !Object.values(technologies).some(({ icon }) => icon === file) &&
+ file !== 'default.svg'
+ ) {
throw new Error(`Extraneous file: ${filePath}}`)
}
}
diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js
index ae83bce7d..eb912513e 100644
--- a/src/drivers/npm/driver.js
+++ b/src/drivers/npm/driver.js
@@ -605,7 +605,7 @@ class Site {
const cookies = (await page.cookies()).reduce(
(cookies, { name, value }) => ({
...cookies,
- [name]: [value],
+ [name.toLowerCase()]: [value],
}),
{}
)
diff --git a/src/drivers/webextension/_locales/ca/messages.json b/src/drivers/webextension/_locales/ca/messages.json
index 11ae2647d..fb5874a4a 100644
--- a/src/drivers/webextension/_locales/ca/messages.json
+++ b/src/drivers/webextension/_locales/ca/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate program" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/de/messages.json b/src/drivers/webextension/_locales/de/messages.json
index 7f2a05ed5..5b172b948 100644
--- a/src/drivers/webextension/_locales/de/messages.json
+++ b/src/drivers/webextension/_locales/de/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authority" },
"categoryName71": { "message": "Partnerprogram" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/el/messages.json b/src/drivers/webextension/_locales/el/messages.json
index ed13374df..cb9bf067f 100644
--- a/src/drivers/webextension/_locales/el/messages.json
+++ b/src/drivers/webextension/_locales/el/messages.json
@@ -88,5 +88,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json
index 1ab5d80f3..79edf518f 100644
--- a/src/drivers/webextension/_locales/en/messages.json
+++ b/src/drivers/webextension/_locales/en/messages.json
@@ -90,5 +90,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/es/messages.json b/src/drivers/webextension/_locales/es/messages.json
index f10d889ca..2c520ecba 100644
--- a/src/drivers/webextension/_locales/es/messages.json
+++ b/src/drivers/webextension/_locales/es/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/fa/messages.json b/src/drivers/webextension/_locales/fa/messages.json
index 932d4e3b4..237c96dda 100644
--- a/src/drivers/webextension/_locales/fa/messages.json
+++ b/src/drivers/webextension/_locales/fa/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "صادر کننده SSL/TLS" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/fr/messages.json b/src/drivers/webextension/_locales/fr/messages.json
index 9c617717a..1c5a24658 100644
--- a/src/drivers/webextension/_locales/fr/messages.json
+++ b/src/drivers/webextension/_locales/fr/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/gl_ES/messages.json b/src/drivers/webextension/_locales/gl_ES/messages.json
index 96b057555..3e1b1e1d2 100644
--- a/src/drivers/webextension/_locales/gl_ES/messages.json
+++ b/src/drivers/webextension/_locales/gl_ES/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/gr/messages.json b/src/drivers/webextension/_locales/gr/messages.json
index cf7e7f0a7..74a33909e 100644
--- a/src/drivers/webextension/_locales/gr/messages.json
+++ b/src/drivers/webextension/_locales/gr/messages.json
@@ -88,5 +88,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/id/messages.json b/src/drivers/webextension/_locales/id/messages.json
index 0d9504521..da7a7d9aa 100644
--- a/src/drivers/webextension/_locales/id/messages.json
+++ b/src/drivers/webextension/_locales/id/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/it/messages.json b/src/drivers/webextension/_locales/it/messages.json
index 26d05d176..c7e1ec316 100644
--- a/src/drivers/webextension/_locales/it/messages.json
+++ b/src/drivers/webextension/_locales/it/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authority" },
"categoryName71": { "message": "Affiliate program" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/ja/messages.json b/src/drivers/webextension/_locales/ja/messages.json
index ab426102c..9c0ecffb8 100644
--- a/src/drivers/webextension/_locales/ja/messages.json
+++ b/src/drivers/webextension/_locales/ja/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authority" },
"categoryName71": { "message": "Affiliate program" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/ko/messages.json b/src/drivers/webextension/_locales/ko/messages.json
index 72057cd62..988b850f7 100644
--- a/src/drivers/webextension/_locales/ko/messages.json
+++ b/src/drivers/webextension/_locales/ko/messages.json
@@ -90,5 +90,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json
index 60b52e7a6..4d9290886 100644
--- a/src/drivers/webextension/_locales/pl/messages.json
+++ b/src/drivers/webextension/_locales/pl/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/pt/messages.json b/src/drivers/webextension/_locales/pt/messages.json
index b167f0e0c..191a128d5 100644
--- a/src/drivers/webextension/_locales/pt/messages.json
+++ b/src/drivers/webextension/_locales/pt/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/pt_BR/messages.json b/src/drivers/webextension/_locales/pt_BR/messages.json
index 1a0037942..ecd8bd3e2 100644
--- a/src/drivers/webextension/_locales/pt_BR/messages.json
+++ b/src/drivers/webextension/_locales/pt_BR/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/ro/messages.json b/src/drivers/webextension/_locales/ro/messages.json
index c9fbca333..517301adf 100644
--- a/src/drivers/webextension/_locales/ro/messages.json
+++ b/src/drivers/webextension/_locales/ro/messages.json
@@ -88,5 +88,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/ru/messages.json b/src/drivers/webextension/_locales/ru/messages.json
index 125b96870..48eddb1a1 100644
--- a/src/drivers/webextension/_locales/ru/messages.json
+++ b/src/drivers/webextension/_locales/ru/messages.json
@@ -90,5 +90,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/sk/messages.json b/src/drivers/webextension/_locales/sk/messages.json
index 96e13a873..008f1a72b 100644
--- a/src/drivers/webextension/_locales/sk/messages.json
+++ b/src/drivers/webextension/_locales/sk/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/tr/messages.json b/src/drivers/webextension/_locales/tr/messages.json
index 7fb33351a..7568b125f 100644
--- a/src/drivers/webextension/_locales/tr/messages.json
+++ b/src/drivers/webextension/_locales/tr/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs"},
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/uk/messages.json b/src/drivers/webextension/_locales/uk/messages.json
index 806f9e5ce..453f56768 100644
--- a/src/drivers/webextension/_locales/uk/messages.json
+++ b/src/drivers/webextension/_locales/uk/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/uz/messages.json b/src/drivers/webextension/_locales/uz/messages.json
index 6ed72f189..e3a5cb7de 100644
--- a/src/drivers/webextension/_locales/uz/messages.json
+++ b/src/drivers/webextension/_locales/uz/messages.json
@@ -92,5 +92,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/zh_CN/messages.json b/src/drivers/webextension/_locales/zh_CN/messages.json
index 51ef07ce7..77950dfce 100644
--- a/src/drivers/webextension/_locales/zh_CN/messages.json
+++ b/src/drivers/webextension/_locales/zh_CN/messages.json
@@ -85,8 +85,9 @@
"categoryName65": { "message": "负载均衡" },
"categoryName66": { "message": "用户界面(UI)框架" },
"categoryName67": { "message": "Cookie 合规" },
- "categoryName68": { "message": "辅助功能"},
- "categoryName69": { "message": "社交登录"},
+ "categoryName68": { "message": "辅助功能" },
+ "categoryName69": { "message": "社交登录" },
"categoryName70": { "message": "SSL/TLS certificate authority" },
- "categoryName71": { "message": "Affiliate program"}
+ "categoryName71": { "message": "Affiliate program" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/_locales/zh_TW/messages.json b/src/drivers/webextension/_locales/zh_TW/messages.json
index 574586f3b..e98c4c6da 100644
--- a/src/drivers/webextension/_locales/zh_TW/messages.json
+++ b/src/drivers/webextension/_locales/zh_TW/messages.json
@@ -91,5 +91,6 @@
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
- "categoryName73": { "message": "Surveys" }
+ "categoryName73": { "message": "Surveys" },
+ "categoryName74": { "message": "A/B testing" }
}
diff --git a/src/drivers/webextension/images/icons/Bookingkit.svg b/src/drivers/webextension/images/icons/Bookingkit.svg
new file mode 100644
index 000000000..58f9272f3
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Bookingkit.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/drivers/webextension/images/icons/Booksy.svg b/src/drivers/webextension/images/icons/Booksy.svg
new file mode 100644
index 000000000..69ca73bd0
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Booksy.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/drivers/webextension/images/icons/Checkfront.svg b/src/drivers/webextension/images/icons/Checkfront.svg
new file mode 100644
index 000000000..f4bac1938
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Checkfront.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/drivers/webextension/images/icons/Clickbank.svg b/src/drivers/webextension/images/icons/Clickbank.svg
new file mode 100644
index 000000000..1da12d373
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Clickbank.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/drivers/webextension/images/icons/Cloudinary.svg b/src/drivers/webextension/images/icons/Cloudinary.svg
new file mode 100644
index 000000000..014b6da87
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Cloudinary.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/drivers/webextension/images/icons/CoconutSoftware.svg b/src/drivers/webextension/images/icons/CoconutSoftware.svg
new file mode 100644
index 000000000..c42edf815
--- /dev/null
+++ b/src/drivers/webextension/images/icons/CoconutSoftware.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/drivers/webextension/images/icons/CoverManager.svg b/src/drivers/webextension/images/icons/CoverManager.svg
new file mode 100644
index 000000000..00e88220a
--- /dev/null
+++ b/src/drivers/webextension/images/icons/CoverManager.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/drivers/webextension/images/icons/Eveve.svg b/src/drivers/webextension/images/icons/Eveve.svg
new file mode 100644
index 000000000..e58708c31
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Eveve.svg
@@ -0,0 +1,15 @@
+
diff --git a/src/drivers/webextension/images/icons/Google Optimize.svg b/src/drivers/webextension/images/icons/Google Optimize.svg
new file mode 100644
index 000000000..6217d0de2
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Google Optimize.svg
@@ -0,0 +1,11 @@
+
+
\ No newline at end of file
diff --git a/src/drivers/webextension/images/icons/Sotel.png b/src/drivers/webextension/images/icons/Sotel.png
new file mode 100644
index 000000000..5f3cf5636
Binary files /dev/null and b/src/drivers/webextension/images/icons/Sotel.png differ
diff --git a/src/drivers/webextension/images/icons/Statically.svg b/src/drivers/webextension/images/icons/Statically.svg
new file mode 100644
index 000000000..d2456b6e1
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Statically.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/drivers/webextension/images/icons/Tripadviser.Widget.svg b/src/drivers/webextension/images/icons/Tripadviser.Widget.svg
new file mode 100644
index 000000000..83f4ddbf8
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Tripadviser.Widget.svg
@@ -0,0 +1,14 @@
+
diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js
index 9bf887d42..eedc4463a 100644
--- a/src/drivers/webextension/js/driver.js
+++ b/src/drivers/webextension/js/driver.js
@@ -1,6 +1,6 @@
'use strict'
/* eslint-env browser */
-/* globals chrome, browser, Wappalyzer, Utils */
+/* globals chrome, Wappalyzer, Utils */
const {
setTechnologies,
@@ -325,7 +325,7 @@ const Driver = {
).reduce(
(cookies, { name, value }) => ({
...cookies,
- [name]: [value],
+ [name.toLowerCase()]: [value],
}),
{}
)
diff --git a/src/technologies.json b/src/technologies.json
index 1abc31983..543ff24e3 100644
--- a/src/technologies.json
+++ b/src/technologies.json
@@ -284,6 +284,10 @@
"73": {
"name": "Surveys",
"priority": 9
+ },
+ "74": {
+ "name": "A/B Testing",
+ "priority": 9
}
},
"technologies": {
@@ -2175,6 +2179,33 @@
"scripts": "bda\\.bookatable\\.com/deploy/lbui\\.direct\\.min\\.js",
"website": "https://www.bookatable.co.uk"
},
+ "Bookingkit": {
+ "cats": [
+ 5,
+ 61,
+ 72
+ ],
+ "description": "Bookingkit is an online booking management solution. Bookingkit helps its users generate PDF invoices, manage day-to-day scheduling operations, and automatically sync availabilities in real time.",
+ "icon": "Bookingkit.svg",
+ "js": {
+ "BookingKitApp": ""
+ },
+ "website": "https://bookingkit.net/"
+ },
+ "Booksy": {
+ "cats": [
+ 5,
+ 61,
+ 72
+ ],
+ "description": "Booksy is a booking system for people looking to schedule appointments for health and beauty services.",
+ "icon": "Booksy.svg",
+ "js": {
+ "booksy": ""
+ },
+ "scripts": "booksy\\.com/widget/code\\.js",
+ "website": "https://booksy.com/"
+ },
"Bokeh": {
"cats": [
25
@@ -2303,7 +2334,7 @@
"cats": [
41
],
- "description": "Braintree, a division of PayPal, specializes in mobile and web payment systems for e-commerce companies. Braintree provides clients with a merchant account and a payment gateway.",
+ "description": "Braintree, a division of PayPal, specializes in mobile and web payment systems for ecommerce companies. Braintree provides clients with a merchant account and a payment gateway.",
"icon": "Braintree.svg",
"js": {
"Braintree": "",
@@ -2780,6 +2811,18 @@
"scripts": "chartbeat\\.js",
"website": "http://chartbeat.com"
},
+ "Checkfront": {
+ "cats": [
+ 5,
+ 6,
+ 61,
+ 72
+ ],
+ "description": "Checkfront is a cloud-based booking management application and ecommerce platform.",
+ "icon": "Checkfront.svg",
+ "scripts": "\\.checkfront\\.com/",
+ "website": "https://www.checkfront.com"
+ },
"Cherokee": {
"cats": [
22
@@ -3045,6 +3088,20 @@
},
"website": "https://www.coastercms.org"
},
+ "CoconutSoftware": {
+ "cats": [
+ 5,
+ 61,
+ 72
+ ],
+ "icon": "CoconutSoftware.svg",
+ "description": "Coconut is a cloud-based appointment scheduling solution designed for enterprise financial services organizations such as credit unions, retail banks and more.",
+ "cookies": {
+ "coconut_calendar": ""
+ },
+ "website": "https://www.coconutsoftware.com/"
+ },
+
"CodeIgniter": {
"cats": [
18
@@ -3384,6 +3441,16 @@
},
"website": "https://count.ly"
},
+ "CoverManager": {
+ "cats": [
+ 5,
+ 72
+ ],
+ "description": "CoverManager is a restaurant table booking widget.",
+ "icon": "CoverManager.svg",
+ "html": "