├── .gitattributes
├── .github
└── workflows
│ └── update-readme.yml
├── .prettierrc.json
├── README.md
├── package.json
└── src
├── list.json
└── update-readme.js
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/workflows/update-readme.yml:
--------------------------------------------------------------------------------
1 | name: Update README
2 |
3 | on:
4 | push:
5 | paths:
6 | - 'src/list.json'
7 | - 'src/update-readme.js'
8 |
9 | jobs:
10 | update-readme:
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - name: Checkout repository
15 | uses: actions/checkout@v4
16 | with:
17 | fetch-depth: 0 # Ensures full history is checked out for git operations
18 |
19 | - name: Set up Node.js
20 | uses: actions/setup-node@v4
21 |
22 | - name: Update README
23 | run: node src/update-readme.js
24 |
25 | - name: Commit changes
26 | run: |
27 | git config --global user.name 'github-actions[bot]'
28 | git config --global user.email '41898282+github-actions[bot]@users.noreply.github.com'
29 | git add README.md
30 | git commit -m 'docs: update README based on JSON changes'
31 | git push
32 | env:
33 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "avoid",
3 | "bracketSpacing": true,
4 | "htmlWhitespaceSensitivity": "css",
5 | "insertPragma": false,
6 | "jsxBracketSameLine": false,
7 | "jsxSingleQuote": true,
8 | "printWidth": 120,
9 | "proseWrap": "preserve",
10 | "quoteProps": "as-needed",
11 | "requirePragma": false,
12 | "semi": false,
13 | "singleQuote": true,
14 | "tabWidth": 2,
15 | "trailingComma": "all",
16 | "useTabs": false,
17 | "vueIndentScriptAndStyle": false,
18 | "endOfLine": "lf",
19 | "singleAttributePerLine": true
20 | }
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
🌐 Vue.js Companies Directory
3 |
4 | Welcome to the Vue Companies Directory repository! This project aims to provide a comprehensive list of companies worldwide that use Vue.js in their tech stack. It's a community-driven effort to showcase Vue.js adoption across different countries and industries.
5 | Currently, we have 98 companies listed from 12 different countries! Let's grow our community together by adding more companies and sharing this repository with fellow Vue.js enthusiasts.
6 |
7 | Contents
8 |
9 |
26 |
27 | 🇨🇦 - Canada
28 |
29 |
30 | Name | Remote | Hybrid | Hiring | Contact |
31 |
32 | Vehikl |
33 | |
34 | |
35 | |
36 | |
37 |
38 |
🇪🇬 - Egypt
39 |
40 |
41 | Name | Remote | Hybrid | Hiring | Contact |
42 |
43 | Waffarha |
44 | |
45 | |
46 | |
47 | |
48 |
49 |
🇫🇮 - Finland
50 |
51 |
🇬🇪 - Georgia
103 |
104 |
105 | Name | Remote | Hybrid | Hiring | Contact |
106 |
107 | Redberry |
108 | |
109 | |
110 | |
111 | |
112 |
113 |
🇮🇳 - India
114 |
115 |
116 | Name | Remote | Hybrid | Hiring | Contact |
117 |
118 | BeautifulCode |
119 | |
120 | |
121 | |
122 | |
123 |
124 | Remote based Service Company using Vue with Typescript |
125 |
126 | Capital Numbers |
127 | |
128 | |
129 | |
130 | |
131 |
132 | Provides #Web #Mobile #DevOps and #AI #ML talent “On-Demand” to leading businesses around the world |
133 |
134 | Clarity Technologies |
135 | |
136 | |
137 | ✅ |
138 | |
139 |
140 | Software and Services Startup |
141 |
142 | Clearglass |
143 | |
144 | |
145 | |
146 | |
147 |
148 | Helping Pension Funds see all of their investment costs in one place. |
149 |
150 | DeepSource |
151 | |
152 | |
153 | ✅ |
154 | |
155 |
156 | Automated code review that helps you write better code. Backed by Y Combinator. |
157 |
158 | Economize |
159 | |
160 | |
161 | ✅ |
162 | |
163 |
164 | Analyze, manage, and optimize your cloud infrastructure costs & billing better with Economize. |
165 |
166 | Experion Technologies |
167 | |
168 | |
169 | |
170 | |
171 |
172 | Provides digital software solutions and services have been delivered to clients in HealthTech, InsureTech, FinTech, Supply Chain, Transportation, Retail, Logistics. |
173 |
174 | Flock |
175 | |
176 | |
177 | ✅ |
178 | |
179 |
180 | Tools for effortless communication and collaboration |
181 |
182 | GeoSpoc |
183 | |
184 | |
185 | ✅ |
186 | |
187 |
188 | GIS + Web with all web projects being rendered using Vue / Nuxt.js |
189 |
190 | Helpninja |
191 | |
192 | |
193 | |
194 | |
195 |
196 | Simple and Affordable Helpdesk |
197 |
198 | Iconscout |
199 | |
200 | |
201 | |
202 | |
203 |
204 | Design resources marketplace for icons, illustrations & stock photos with 2 million+ assets. |
205 |
206 | Infinitewp |
207 | |
208 | |
209 | |
210 | |
211 |
212 | Multiple WordPress management solution. |
213 |
214 | KarixIO |
215 | |
216 | |
217 | |
218 | |
219 |
220 | Admin/OPs dashboard |
221 |
222 | Kite by Zerodha |
223 | |
224 | |
225 | |
226 | |
227 |
228 | Web based trading platform |
229 |
230 | Kuvera |
231 | |
232 | |
233 | |
234 | |
235 |
236 | Online platform for mutual fund investment |
237 |
238 | Locale.ai |
239 | |
240 | |
241 | |
242 | |
243 |
244 | Web based GIS, Large scale geospatial visualizations and analytics |
245 |
246 | Medinovita |
247 | |
248 | |
249 | |
250 | |
251 |
252 | Wellness & Yoga |
253 |
254 | Mobiotics |
255 | |
256 | |
257 | |
258 | |
259 |
260 | OTT Platform,DRM |
261 |
262 | Murait Technologies |
263 | |
264 | |
265 | ✅ |
266 | |
267 |
268 | Remote base Service Company using Vue with Laravel |
269 |
270 | Olacabs |
271 | |
272 | |
273 | |
274 | |
275 |
276 | Most of the Websites and Webviews |
277 |
278 | QArt Fashion |
279 | |
280 | |
281 | |
282 | |
283 |
284 | For QArt Dashboard |
285 |
286 | RentoMojo |
287 | |
288 | |
289 | |
290 | |
291 |
292 | Furniture, Appliances, Electronics Rental |
293 |
294 | Scroll.in |
295 | |
296 | |
297 | |
298 | |
299 |
300 | digital publishing / News media |
301 |
302 | Sminq - Doctor's Appointments |
303 | |
304 | |
305 | |
306 | |
307 |
308 | Realtime appointment system for doctors |
309 |
310 | thesouledstore |
311 | |
312 | |
313 | |
314 | |
315 |
316 | Online merchandise |
317 |
318 | ThoughtFocus |
319 | |
320 | |
321 | |
322 | |
323 |
324 | Working in Aerospace & Defense, Education, Finance, & Manufacturing domain & use Vue to build web apps |
325 |
326 | Upwardly |
327 | |
328 | |
329 | |
330 | |
331 |
332 | Fintech startup for mutual fund investment |
333 |
334 | Voicezen |
335 | |
336 | |
337 | |
338 | |
339 |
340 | Speech-to-text & AI Platform |
341 |
342 | WebReinvent |
343 | |
344 | |
345 | |
346 | |
347 |
348 |
349 | WIOS Designs |
350 | |
351 | |
352 | |
353 | |
354 |
355 | Custom front-end solutions, games and open source projects |
356 |
357 | YourStory |
358 | |
359 | |
360 | |
361 | |
362 |
363 | Media Platform |
364 |
365 | Zoomcar |
366 | |
367 | |
368 | |
369 | |
370 |
371 | Self-Driving Car Rental |
372 |
🇯🇵 - Japan
373 |
374 |
375 | Name | Remote | Hybrid | Hiring | Contact |
376 |
377 | ALIS |
378 | |
379 | |
380 | |
381 | |
382 |
383 | A completely new social media concept revealing and providing access to reliable, articles, news, and people |
384 |
385 | B-eee Technology |
386 | |
387 | |
388 | |
389 | |
390 |
391 | WebDB, CRM(SaaS, bigdata, realtime, dashboards and graphs), and workflows |
392 |
393 | Blabo Inc. |
394 | |
395 | |
396 | |
397 | |
398 |
399 | Co-Creation Platform |
400 |
401 | CyberAgent |
402 | |
403 | |
404 | |
405 | |
406 |
407 | Many product are running with migrating to Vue.js |
408 |
409 | DeNA |
410 | |
411 | |
412 | |
413 | |
414 |
415 | At DeNA, we use Vue.js for product development in various business such as automotive, life science and entertainment. |
416 |
417 | DMM.com Labo |
418 | |
419 | |
420 | |
421 | |
422 |
423 | Posting and voting CM videos with serverless SPA. |
424 |
425 | FURYU |
426 | |
427 | |
428 | |
429 | |
430 |
431 | PICTLINK SPA on Vue. |
432 |
433 | GNEX ltd. |
434 | |
435 | |
436 | |
437 | |
438 |
439 | Push7 (SaaS web push service) Web Site and Document on Nuxt.js, CartEngine (E-Commerce support system) SPA Dashboard on Vue. |
440 |
441 | HiCustomer |
442 | |
443 | |
444 | |
445 | |
446 |
447 | HiCustomer (Customer Success Management tool for SaaS) is built with Vue.js and Vuex. |
448 |
449 | M&T Technology Inc. |
450 | |
451 | |
452 | |
453 | |
454 |
455 | Customer and administrator backends currently in development, as well as all current and future software are made with Vue.js and/or Laravel. |
456 |
457 | Minkore |
458 | |
459 | |
460 | |
461 | |
462 |
463 | Migrating to Vue.js + Firebase SPA |
464 |
465 | Nagisa-inc |
466 | |
467 | |
468 | |
469 | |
470 |
471 | Manga ZERO (SPA + SSR), UPTOON (SPA), Digital comic services. |
472 |
473 | oRo |
474 | |
475 | |
476 | |
477 | |
478 |
479 | Making various interactive websites / applications for each customer on demand. |
480 |
481 | Repro |
482 | |
483 | |
484 | |
485 | |
486 |
487 | Most of the UI of the application is built with Vue.js + Vuex! |
488 |
489 | Safie |
490 | |
491 | |
492 | |
493 | |
494 |
495 | Building corporate site, dashboards with Vue.js & Nuxt.js. |
496 |
497 | SAKURA Internet Inc. |
498 | |
499 | |
500 | |
501 | |
502 |
503 | Building dashboards in our services such as sakura.io, Koukaryoku Computing and using for other various scenes. |
504 |
505 | SCOUTER |
506 | |
507 | |
508 | |
509 | |
510 |
511 | SCOUTER (HR, Recruitment service) Web Site for all stakeholders |
512 |
513 | TeamUp |
514 | |
515 | |
516 | |
517 | |
518 |
519 | TeamUp (feedback system) is built with Vue.js and Vuex. |
520 |
521 | TechBowl |
522 | |
523 | |
524 | |
525 | |
526 |
527 | Our Service, "TechTrain" is built with Nuxt.js. "TechTrain" is a community and service for engineers and developers. |
528 |
529 | Tokyo Otaku Mode Inc. |
530 | |
531 | |
532 | |
533 | |
534 |
535 | Tokyo Otaku Mode is built with Vue.js and Vuex. |
536 |
537 | Umeebe Inc. |
538 | |
539 | |
540 | |
541 | |
542 |
543 | TsuribaCamera (Community Service for Anglers) with Nuxt.js |
544 |
545 | Viibar inc. |
546 | |
547 | |
548 | |
549 | |
550 |
551 | Building Vync with Vue.js. |
552 |
553 | Widsley |
554 | |
555 | |
556 | |
557 | |
558 |
559 | We build Sales oriented CRM and CTI using Vue.js and Nuxt.js on front and Laravel on backend. Our main product ComDesk |
560 |
561 | 来栖川電算 |
562 | |
563 | |
564 | |
565 | |
566 |
567 | Built AnnoFab, a Web app for mass-producing quality annotations for machine learning. Also contributing to Vue eco-system specially vue-i18n. |
568 |
🇲🇽 - Mexico
569 |
570 |
571 | Name | Remote | Hybrid | Hiring | Contact |
572 |
573 | Clip |
574 | |
575 | |
576 | |
577 | |
578 |
579 |
580 | Cultura Colectiva |
581 | |
582 | |
583 | |
584 | |
585 |
586 |
587 | Devhive |
588 | |
589 | |
590 | |
591 | |
592 |
593 |
594 | Marciano Studio |
595 | |
596 | |
597 | |
598 | |
599 |
600 |
601 | Pulpomatic |
602 | |
603 | |
604 | |
605 | |
606 |
607 |
608 | SegundaMano |
609 | |
610 | |
611 | |
612 | |
613 |
614 |
615 | Vetta |
616 | |
617 | |
618 | |
619 | |
620 |
621 |
622 | Worky |
623 | |
624 | |
625 | |
626 | |
627 |
628 |
🇳🇱 - Netherlands
629 |
630 |
631 | Name | Remote | Hybrid | Hiring | Contact |
632 |
633 | PassionatePeople |
634 | |
635 | |
636 | |
637 | |
638 |
639 |
🇳🇴 - Norway
640 |
641 |
🇵🇱 - Poland
735 |
736 |
737 | Name | Remote | Hybrid | Hiring | Contact |
738 |
739 | Monterail |
740 | ✅ |
741 | ✅ |
742 | |
743 | |
744 |
745 |
🇹🇷 - Turkey
746 |
747 |
748 | Name | Remote | Hybrid | Hiring | Contact |
749 |
750 | adesso Turkey |
751 | ✅ |
752 | ✅ |
753 | |
754 | |
755 |
756 |
757 | Aixigo |
758 | |
759 | ✅ |
760 | |
761 | |
762 |
763 |
764 | Eva Guru |
765 | ✅ |
766 | ✅ |
767 | |
768 | |
769 |
770 |
771 | Iceberg Digital |
772 | ✅ |
773 | |
774 | |
775 | |
776 |
777 |
778 | Insider |
779 | |
780 | |
781 | |
782 | |
783 |
784 |
785 | MobileAction |
786 | |
787 | |
788 | |
789 | |
790 |
791 |
792 | Teknasyon |
793 | |
794 | |
795 | |
796 | |
797 |
798 |
🇺🇸 - United States
799 |
800 |
801 | Name | Remote | Hybrid | Hiring | Contact |
802 |
803 | Curotec |
804 | |
805 | |
806 | |
807 | |
808 |
809 |
810 | herodevs |
811 | |
812 | |
813 | |
814 | |
815 |
816 |
🔍 Sources
823 |
824 | 👾 How can I support?
825 |
826 | - ⭐ Star my GitHub repo
827 | - 🛠 Create pull requests, submit bugs, suggest new features or updates
828 |
829 |
830 | 👩💻 Contributing
831 | We welcome contributions! If you know of any Vue.js companies not listed here, feel free to add them by creating a pull request.
832 | Follow these steps to create a PR:
833 |
834 | - Fork the repository.
835 | - Create a new branch:
git checkout -b my-branch-name
836 | - Update the
src/list.json
file with the new company details:
837 |
838 |
839 | {
840 | "name": "New Company Name",
841 | "country": "Country Name (ex: Turkey, USA, Spain, India etc...)",
842 | "isRemote": true,
843 | "isHybrid": false,
844 | "isHiring": true,
845 | "website": "https://example.com",
846 | "contact": { "text": "mustafacagri", "url": "https://www.linkedin.com/in/mustafacagri" },
847 | "description": "Optional description of the company."
848 | }
849 |
850 |
851 | If there is no information, you can leave the field empty, like this:
852 |
853 |
854 | {
855 | "name": "Company Name",
856 | "country": "Turkey",
857 | "website": "https://example.com",
858 | }
859 |
860 |
861 | - Save your changes and commit them:
git commit -am 'feat(Turkey): add Company X and Company Y'
862 | - Push to the branch:
git push origin my-branch-name
863 | - Create a new pull request.
864 |
865 | Thank you for your contributions! 🙌🌟
866 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-companies-directory-by-country",
3 | "version": "1.0.0",
4 | "description": "Discover Vue.js adopters worldwide! 🚀 This repository showcases companies using Vue.js, organized by country. 🌐 Explore which companies are hiring with hybrid or remote options, and dive into Vue.js opportunities globally. 🌟 Join us in celebrating Vue.js excellence across industries and find your next Vue.js adventure! 💼",
5 | "main": "src/update-readme.js",
6 | "author": "mustafacagri",
7 | "license": "ISC"
8 | }
9 |
--------------------------------------------------------------------------------
/src/list.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "GNEX ltd.",
4 | "website": "https://globalnet-ex.com",
5 | "description": "Push7 (SaaS web push service) Web Site and Document on Nuxt.js, CartEngine (E-Commerce support system) SPA Dashboard on Vue.",
6 | "country": "Japan"
7 | },
8 | {
9 | "name": "Minkore",
10 | "website": "https://minkore.funa.in.net",
11 | "description": "Migrating to Vue.js + Firebase SPA",
12 | "country": "Japan"
13 | },
14 | {
15 | "name": "Nagisa-inc",
16 | "website": "https://nagisa-inc.jp",
17 | "description": "Manga ZERO (SPA + SSR), UPTOON (SPA), Digital comic services.",
18 | "country": "Japan"
19 | },
20 | {
21 | "name": "B-eee Technology",
22 | "website": "http://www.b-eee.com/",
23 | "description": "WebDB, CRM(SaaS, bigdata, realtime, dashboards and graphs), and workflows",
24 | "country": "Japan"
25 | },
26 | {
27 | "name": "FURYU",
28 | "website": "https://www.furyu.jp",
29 | "description": "PICTLINK SPA on Vue.",
30 | "country": "Japan"
31 | },
32 | {
33 | "name": "DMM.com Labo",
34 | "website": "https://cmawards.dmm.com/",
35 | "description": "Posting and voting CM videos with serverless SPA.",
36 | "country": "Japan"
37 | },
38 | {
39 | "name": "CyberAgent",
40 | "website": "https://adtech.cyberagent.io",
41 | "description": "Many product are running with migrating to Vue.js",
42 | "country": "Japan"
43 | },
44 | {
45 | "name": "SCOUTER",
46 | "website": "https://corp.scouter.co.jp",
47 | "description": "SCOUTER (HR, Recruitment service) Web Site for all stakeholders",
48 | "country": "Japan"
49 | },
50 | {
51 | "name": "Repro",
52 | "website": "https://repro.io",
53 | "description": "Most of the UI of the application is built with Vue.js + Vuex!",
54 | "country": "Japan"
55 | },
56 | {
57 | "name": "TeamUp",
58 | "website": "https://www.teamup.jp",
59 | "description": "TeamUp (feedback system) is built with Vue.js and Vuex.",
60 | "country": "Japan"
61 | },
62 | {
63 | "name": "Umeebe Inc.",
64 | "website": "https://umee.be/",
65 | "description": "TsuribaCamera (Community Service for Anglers) with Nuxt.js",
66 | "country": "Japan"
67 | },
68 | {
69 | "name": "Blabo Inc.",
70 | "website": "https://bla.bo/",
71 | "description": "Co-Creation Platform",
72 | "country": "Japan"
73 | },
74 | {
75 | "name": "DeNA",
76 | "website": "http://dena.com/",
77 | "description": "At DeNA, we use Vue.js for product development in various business such as automotive, life science and entertainment.",
78 | "country": "Japan"
79 | },
80 | {
81 | "name": "oRo",
82 | "website": "https://www.oro.com",
83 | "description": "Making various interactive websites / applications for each customer on demand.",
84 | "country": "Japan"
85 | },
86 | {
87 | "name": "Tokyo Otaku Mode Inc.",
88 | "website": "https://corporate.otakumode.com/",
89 | "description": "Tokyo Otaku Mode is built with Vue.js and Vuex.",
90 | "country": "Japan"
91 | },
92 | {
93 | "name": "来栖川電算",
94 | "website": "https://www.kurusugawa.jp",
95 | "description": "Built AnnoFab, a Web app for mass-producing quality annotations for machine learning. Also contributing to Vue eco-system specially vue-i18n.",
96 | "country": "Japan"
97 | },
98 | {
99 | "name": "M&T Technology Inc.",
100 | "website": "https://www.m-t.com",
101 | "description": "Customer and administrator backends currently in development, as well as all current and future software are made with Vue.js and/or Laravel.",
102 | "country": "Japan"
103 | },
104 | {
105 | "name": "SAKURA Internet Inc.",
106 | "website": "https://www.sakura.ad.jp/",
107 | "description": "Building dashboards in our services such as sakura.io, Koukaryoku Computing and using for other various scenes.",
108 | "country": "Japan"
109 | },
110 | {
111 | "name": "Viibar inc.",
112 | "website": "https://viibar.com/",
113 | "description": "Building Vync with Vue.js.",
114 | "country": "Japan"
115 | },
116 | {
117 | "name": "ALIS",
118 | "website": "https://alis.to/",
119 | "description": "A completely new social media concept revealing and providing access to reliable, articles, news, and people",
120 | "country": "Japan"
121 | },
122 | {
123 | "name": "Safie",
124 | "website": "https://safie.link/",
125 | "description": "Building corporate site, dashboards with Vue.js & Nuxt.js.",
126 | "country": "Japan"
127 | },
128 | {
129 | "name": "TechBowl",
130 | "website": "https://techbowl.co.jp",
131 | "description": "Our Service, \"TechTrain\" is built with Nuxt.js. \"TechTrain\" is a community and service for engineers and developers.",
132 | "country": "Japan"
133 | },
134 | {
135 | "name": "HiCustomer",
136 | "website": "https://hicustomer.jp/",
137 | "description": "HiCustomer (Customer Success Management tool for SaaS) is built with Vue.js and Vuex.",
138 | "country": "Japan"
139 | },
140 | {
141 | "name": "Widsley",
142 | "website": "https://widsley.com/",
143 | "description": "We build Sales oriented CRM and CTI using Vue.js and Nuxt.js on front and Laravel on backend. Our main product ComDesk",
144 | "country": "Japan"
145 | },
146 | {
147 | "name": "BeautifulCode",
148 | "website": "https://www.beautifulcode.co",
149 | "description": "Remote based Service Company using Vue with Typescript",
150 | "country": "India"
151 | },
152 | {
153 | "name": "Capital Numbers",
154 | "website": "https://www.capitalnumbers.com/",
155 | "description": "Provides #Web #Mobile #DevOps and #AI #ML talent “On-Demand” to leading businesses around the world",
156 | "country": "India"
157 | },
158 | {
159 | "name": "Clarity Technologies",
160 | "website": "https://claritytech.io/",
161 | "description": "Software and Services Startup",
162 | "country": "India",
163 | "isHiring": true
164 | },
165 | {
166 | "name": "Clearglass",
167 | "website": "https://clearglass.com/",
168 | "description": "Helping Pension Funds see all of their investment costs in one place.",
169 | "country": "India"
170 | },
171 | {
172 | "name": "DeepSource",
173 | "website": "https://deepsource.io",
174 | "description": "Automated code review that helps you write better code. Backed by Y Combinator.",
175 | "country": "India",
176 | "isHiring": true
177 | },
178 | {
179 | "name": "Economize",
180 | "website": "https://www.economize.cloud/",
181 | "description": "Analyze, manage, and optimize your cloud infrastructure costs & billing better with Economize.",
182 | "country": "India",
183 | "isHiring": true
184 | },
185 | {
186 | "name": "Experion Technologies",
187 | "website": "https://www.experionglobal.com/",
188 | "description": "Provides digital software solutions and services have been delivered to clients in HealthTech, InsureTech, FinTech, Supply Chain, Transportation, Retail, Logistics.",
189 | "country": "India"
190 | },
191 | {
192 | "name": "Flock",
193 | "website": "https://flock.com",
194 | "description": "Tools for effortless communication and collaboration",
195 | "country": "India",
196 | "isHiring": true
197 | },
198 | {
199 | "name": "GeoSpoc",
200 | "website": "https://www.geospoc.com",
201 | "description": "GIS + Web with all web projects being rendered using Vue / Nuxt.js",
202 | "country": "India",
203 | "isHiring": true
204 | },
205 | {
206 | "name": "Helpninja",
207 | "website": "https://helpninja.com",
208 | "description": "Simple and Affordable Helpdesk",
209 | "country": "India"
210 | },
211 | {
212 | "name": "Iconscout",
213 | "website": "https://iconscout.com",
214 | "description": "Design resources marketplace for icons, illustrations & stock photos with 2 million+ assets.",
215 | "country": "India"
216 | },
217 | {
218 | "name": "Infinitewp",
219 | "website": "https://infinitewp.com",
220 | "description": "Multiple WordPress management solution.",
221 | "country": "India"
222 | },
223 | {
224 | "name": "KarixIO",
225 | "website": "https://www.karix.io/",
226 | "description": "Admin/OPs dashboard",
227 | "country": "India"
228 | },
229 | {
230 | "name": "Kite by Zerodha",
231 | "website": "https://kite.zerodha.com/",
232 | "description": "Web based trading platform",
233 | "country": "India"
234 | },
235 | {
236 | "name": "Kuvera",
237 | "website": "https://kuvera.in/",
238 | "description": "Online platform for mutual fund investment",
239 | "country": "India"
240 | },
241 | {
242 | "name": "Locale.ai",
243 | "website": "https://locale.ai/",
244 | "description": "Web based GIS, Large scale geospatial visualizations and analytics",
245 | "country": "India"
246 | },
247 | {
248 | "name": "Medinovita",
249 | "website": "https://www.medinovita.com/",
250 | "description": "Wellness & Yoga",
251 | "country": "India"
252 | },
253 | {
254 | "name": "Mobiotics",
255 | "website": "https://mobiotics.com/",
256 | "description": "OTT Platform,DRM",
257 | "country": "India"
258 | },
259 | {
260 | "name": "Murait Technologies",
261 | "website": "https://www.murait.com/",
262 | "description": "Remote base Service Company using Vue with Laravel",
263 | "country": "India",
264 | "isHiring": true
265 | },
266 | {
267 | "name": "Olacabs",
268 | "website": "https://www.olacabs.com",
269 | "description": "Most of the Websites and Webviews",
270 | "country": "India"
271 | },
272 | {
273 | "name": "RentoMojo",
274 | "website": "https://rentomojo.com",
275 | "description": "Furniture, Appliances, Electronics Rental",
276 | "country": "India"
277 | },
278 | {
279 | "name": "Scroll.in",
280 | "website": "https://scroll.in",
281 | "description": "digital publishing / News media",
282 | "country": "India"
283 | },
284 | {
285 | "name": "Sminq - Doctor's Appointments",
286 | "website": "https://www.sminq.com",
287 | "description": "Realtime appointment system for doctors",
288 | "country": "India"
289 | },
290 | {
291 | "name": "thesouledstore",
292 | "website": "https://www.thesouledstore.com/",
293 | "description": "Online merchandise",
294 | "country": "India"
295 | },
296 | {
297 | "name": "ThoughtFocus",
298 | "website": "https://www.thoughtfocus.com/",
299 | "description": "Working in Aerospace & Defense, Education, Finance, & Manufacturing domain & use Vue to build web apps",
300 | "country": "India"
301 | },
302 | {
303 | "name": "Upwardly",
304 | "website": "https://www.upwardly.in",
305 | "description": "Fintech startup for mutual fund investment",
306 | "country": "India"
307 | },
308 | {
309 | "name": "Voicezen",
310 | "website": "https://voicezen.ai",
311 | "description": "Speech-to-text & AI Platform",
312 | "country": "India"
313 | },
314 | {
315 | "name": "WIOS Designs",
316 | "website": "https://wiosdesigns.xyz",
317 | "description": "Custom front-end solutions, games and open source projects",
318 | "country": "India"
319 | },
320 | {
321 | "name": "YourStory",
322 | "website": "https://yourstory.com",
323 | "description": "Media Platform",
324 | "country": "India"
325 | },
326 | {
327 | "name": "Zoomcar",
328 | "website": "https://zoomcar.com",
329 | "description": "Self-Driving Car Rental",
330 | "country": "India"
331 | },
332 | {
333 | "name": "QArt Fashion",
334 | "website": "https://www.qart.fashion/",
335 | "description": "For QArt Dashboard",
336 | "country": "India"
337 | },
338 | {
339 | "name": "SegundaMano",
340 | "website": "https://www.segundamano.mx/",
341 | "country": "Mexico"
342 | },
343 | {
344 | "name": "Pulpomatic",
345 | "website": "https://www.pulpomatic.com",
346 | "country": "Mexico"
347 | },
348 | {
349 | "name": "Cultura Colectiva",
350 | "website": "https://culturacolectiva.com",
351 | "country": "Mexico"
352 | },
353 | {
354 | "name": "Worky",
355 | "website": "https://worky.mx",
356 | "country": "Mexico"
357 | },
358 | {
359 | "name": "Clip",
360 | "website": "https://clip.mx/",
361 | "country": "Mexico"
362 | },
363 | {
364 | "name": "Vetta",
365 | "website": "http://vetta.io",
366 | "country": "Mexico"
367 | },
368 | {
369 | "name": "Devhive",
370 | "website": "http://devhive.mx",
371 | "country": "Mexico"
372 | },
373 | {
374 | "name": "Marciano Studio",
375 | "website": "http://marciano.com.mx/",
376 | "country": "Mexico"
377 | },
378 | {
379 | "name": "Brandy",
380 | "website": "https://getbrandy.io",
381 | "country": "Norway"
382 | },
383 | {
384 | "name": "Color Line",
385 | "website": "https://www.colorline.no/",
386 | "country": "Norway"
387 | },
388 | {
389 | "name": "Direktoratet for samfunnssikkerhet og beredskap",
390 | "website": "https://www.dsb.no/",
391 | "country": "Norway"
392 | },
393 | {
394 | "name": "DoggieBag.no",
395 | "website": "https://doggiebag.no/",
396 | "country": "Norway"
397 | },
398 | {
399 | "name": "Elder",
400 | "website": "https://elder.no/",
401 | "country": "Norway"
402 | },
403 | {
404 | "name": "Espen Andersen",
405 | "website": "https://easound.no/",
406 | "country": "Norway"
407 | },
408 | {
409 | "name": "Finn småjobber",
410 | "website": "https://www.finn.no/smajobber/",
411 | "country": "Norway"
412 | },
413 | {
414 | "name": "Kvalitetskontroll",
415 | "website": "https://www.kvalitetskontroll.no/",
416 | "country": "Norway"
417 | },
418 | {
419 | "name": "Lexus Bergen",
420 | "website": "https://www.lexus-bergen.no/",
421 | "country": "Norway"
422 | },
423 | {
424 | "name": "NOR-WAY",
425 | "website": "https://www.nor-way.no",
426 | "country": "Norway"
427 | },
428 | {
429 | "name": "TikkTalk",
430 | "website": "https://my.tikktalk.com/",
431 | "country": "Norway"
432 | },
433 | {
434 | "name": "PlusstidHome",
435 | "website": "https://plusstidhome.no",
436 | "country": "Norway"
437 | },
438 | {
439 | "name": "VIP24 Coach",
440 | "website": "https://my.vip24.coach",
441 | "country": "Norway"
442 | },
443 | {
444 | "name": "BCaster",
445 | "website": "https://www.bcaster.com",
446 | "country": "Finland"
447 | },
448 | {
449 | "name": "MobileAction",
450 | "website": "https://www.mobileaction.co/",
451 | "country": "Turkey"
452 | },
453 | {
454 | "name": "Edita Publishing",
455 | "website": "https://www.editapublishing.fi",
456 | "country": "Finland"
457 | },
458 | {
459 | "name": "Holvi",
460 | "website": "https://www.holvi.com/fi-en/",
461 | "country": "Finland"
462 | },
463 | {
464 | "name": "Feedbackly",
465 | "website": "https://www.feedbackly.com/",
466 | "country": "Finland"
467 | },
468 | {
469 | "name": "Teknasyon",
470 | "website": "https://teknasyon.com/",
471 | "country": "Turkey"
472 | },
473 | {
474 | "name": "Montel Intergalactic",
475 | "website": "https://www.montel.fi",
476 | "country": "Finland"
477 | },
478 | {
479 | "name": "Sarake",
480 | "website": "https://sarake.fi",
481 | "country": "Finland"
482 | },
483 | {
484 | "name": "Accountor Eduhouse",
485 | "website": "https://eduhouse.fi",
486 | "country": "Finland"
487 | },
488 | {
489 | "name": "Aixigo",
490 | "website": "https://www.aixigo.com",
491 | "country": "Turkey",
492 | "isHybrid": true
493 | },
494 | {
495 | "name": "Insider",
496 | "website": "https://useinsider.com",
497 | "country": "Turkey"
498 | },
499 | {
500 | "name": "Iceberg Digital",
501 | "website": "https://www.iceberg-digital.co.uk",
502 | "country": "Turkey",
503 | "isRemote": true
504 | },
505 | {
506 | "name": "Eva Guru",
507 | "website": "https://eva.guru",
508 | "country": "Turkey",
509 | "isHybrid": true,
510 | "isRemote": true
511 | },
512 | {
513 | "name": "Monterail",
514 | "website": "https://www.monterail.com",
515 | "country": "Poland",
516 | "isHybrid": true,
517 | "isRemote": true
518 | },
519 | {
520 | "name": "adesso Turkey",
521 | "website": "https://www.adesso.com.tr",
522 | "country": "Turkey",
523 | "isHybrid": true,
524 | "isRemote": true
525 | },
526 | {
527 | "name": "WebReinvent",
528 | "website": "https://webreinvent.com/",
529 | "country": "India"
530 | },
531 | {
532 | "name": "PassionatePeople",
533 | "website": "https://passionatepeople.io/",
534 | "country": "Netherlands"
535 | },
536 | {
537 | "name": "Curotec",
538 | "website": "https://curotec.com/",
539 | "country": "United States"
540 | },
541 | {
542 | "name": "herodevs",
543 | "website": "https://herodevs.com/",
544 | "country": "United States"
545 | },
546 | {
547 | "name": "Vehikl",
548 | "website": "https://vehikl.com/",
549 | "country": "Canada"
550 | },
551 | {
552 | "name": "Redberry",
553 | "website": "https://redberry.international/",
554 | "country": "Georgia"
555 | },
556 | {
557 | "name": "Waffarha",
558 | "website": "https://waffarha.com/",
559 | "country": "Egypt"
560 | }
561 | ]
562 |
--------------------------------------------------------------------------------
/src/update-readme.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs')
2 | const path = require('path')
3 |
4 | const jsonFilePath = path.join(path.join(__dirname, 'list.json'))
5 | const readmeFilePath = path.join(path.join(__dirname, '../README.md'))
6 |
7 | const refs = [
8 | 'https://github.com/vuejs-jp/who-use-vuejs-in-japan',
9 | 'https://github.com/vuejs-in/companies-using-vuejs-in-India',
10 | 'https://github.com/VueJsOslo/vue-projects-norway',
11 | 'https://github.com/coderdiaz/who-use-vuejs-in-mexico',
12 | 'https://github.com/vuejs-finland/state.vuejs.fi',
13 | ]
14 |
15 | // Read the JSON file
16 | const jsonData = JSON.parse(fs.readFileSync(jsonFilePath, 'utf-8'))
17 |
18 | // Group companies by country
19 | const companiesByCountry = jsonData.reduce((acc, company) => {
20 | if (!acc[company.country]) {
21 | acc[company.country] = []
22 | }
23 | acc[company.country].push(company)
24 | return acc
25 | }, {})
26 |
27 | // Sort countries alphabetically
28 | const sortedCountries = Object.keys(companiesByCountry).sort()
29 |
30 | // Sort companies within each country by their name
31 | sortedCountries.forEach(country => {
32 | companiesByCountry[country].sort((a, b) => a.name.localeCompare(b.name))
33 | })
34 |
35 | // Flags for each country
36 | const flags = {
37 | Afghanistan: '🇦🇫',
38 | Albania: '🇦🇱',
39 | Algeria: '🇩🇿',
40 | Andorra: '🇦🇩',
41 | Angola: '🇦🇴',
42 | Antigua_and_Barbuda: '🇦🇬',
43 | Argentina: '🇦🇷',
44 | Armenia: '🇦🇲',
45 | Australia: '🇦🇺',
46 | Austria: '🇦🇹',
47 | Azerbaijan: '🇦🇿',
48 | Bahamas: '🇧🇸',
49 | Bahrain: '🇧🇭',
50 | Bangladesh: '🇧🇩',
51 | Barbados: '🇧🇧',
52 | Belarus: '🇧🇾',
53 | Belgium: '🇧🇪',
54 | Belize: '🇧🇿',
55 | Benin: '🇧🇯',
56 | Bhutan: '🇧🇹',
57 | Bolivia: '🇧🇴',
58 | Bosnia_and_Herzegovina: '🇧🇦',
59 | Botswana: '🇧🇼',
60 | Brazil: '🇧🇷',
61 | Brunei: '🇧🇳',
62 | Bulgaria: '🇧🇬',
63 | Burkina_Faso: '🇧🇫',
64 | Burundi: '🇧🇮',
65 | Cabo_Verde: '🇨🇻',
66 | Cambodia: '🇰🇭',
67 | Cameroon: '🇨🇲',
68 | Canada: '🇨🇦',
69 | Central_African_Republic: '🇨🇫',
70 | Chad: '🇹🇩',
71 | Chile: '🇨🇱',
72 | China: '🇨🇳',
73 | Colombia: '🇨🇴',
74 | Comoros: '🇰🇲',
75 | Congo: '🇨🇬',
76 | Costa_Rica: '🇨🇷',
77 | Croatia: '🇭🇷',
78 | Cuba: '🇨🇺',
79 | Cyprus: '🇨🇾',
80 | Czech_Republic: '🇨🇿',
81 | Democratic_Republic_of_the_Congo: '🇨🇩',
82 | Denmark: '🇩🇰',
83 | Djibouti: '🇩🇯',
84 | Dominica: '🇩🇲',
85 | Dominican_Republic: '🇩🇴',
86 | East_Timor: '🇹🇱',
87 | Ecuador: '🇪🇨',
88 | Egypt: '🇪🇬',
89 | El_Salvador: '🇸🇻',
90 | Equatorial_Guinea: '🇬🇶',
91 | Eritrea: '🇪🇷',
92 | Estonia: '🇪🇪',
93 | Eswatini: '🇸🇿',
94 | Ethiopia: '🇪🇹',
95 | Fiji: '🇫🇯',
96 | Finland: '🇫🇮',
97 | France: '🇫🇷',
98 | Gabon: '🇬🇦',
99 | Gambia: '🇬🇲',
100 | Georgia: '🇬🇪',
101 | Germany: '🇩🇪',
102 | Ghana: '🇬🇭',
103 | Greece: '🇬🇷',
104 | Grenada: '🇬🇩',
105 | Guatemala: '🇬🇹',
106 | Guinea: '🇬🇳',
107 | Guinea_Bissau: '🇬🇼',
108 | Guyana: '🇬🇾',
109 | Haiti: '🇭🇹',
110 | Honduras: '🇭🇳',
111 | Hungary: '🇭🇺',
112 | Iceland: '🇮🇸',
113 | India: '🇮🇳',
114 | Indonesia: '🇮🇩',
115 | Iran: '🇮🇷',
116 | Iraq: '🇮🇶',
117 | Ireland: '🇮🇪',
118 | Israel: '🇮🇱',
119 | Italy: '🇮🇹',
120 | Ivory_Coast: '🇨🇮',
121 | Jamaica: '🇯🇲',
122 | Japan: '🇯🇵',
123 | Jordan: '🇯🇴',
124 | Kazakhstan: '🇰🇿',
125 | Kenya: '🇰🇪',
126 | Kiribati: '🇰🇮',
127 | Kosovo: '🇽🇰',
128 | Kuwait: '🇰🇼',
129 | Kyrgyzstan: '🇰🇬',
130 | Laos: '🇱🇦',
131 | Latvia: '🇱🇻',
132 | Lebanon: '🇱🇧',
133 | Lesotho: '🇱🇸',
134 | Liberia: '🇱🇷',
135 | Libya: '🇱🇾',
136 | Liechtenstein: '🇱🇮',
137 | Lithuania: '🇱🇹',
138 | Luxembourg: '🇱🇺',
139 | Madagascar: '🇲🇬',
140 | Malawi: '🇲🇼',
141 | Malaysia: '🇲🇾',
142 | Maldives: '🇲🇻',
143 | Mali: '🇲🇱',
144 | Malta: '🇲🇹',
145 | Marshall_Islands: '🇲🇭',
146 | Mauritania: '🇲🇷',
147 | Mauritius: '🇲🇺',
148 | Mexico: '🇲🇽',
149 | Micronesia: '🇫🇲',
150 | Moldova: '🇲🇩',
151 | Monaco: '🇲🇨',
152 | Mongolia: '🇲🇳',
153 | Montenegro: '🇲🇪',
154 | Morocco: '🇲🇦',
155 | Mozambique: '🇲🇿',
156 | Myanmar: '🇲🇲',
157 | Namibia: '🇳🇦',
158 | Nauru: '🇳🇷',
159 | Nepal: '🇳🇵',
160 | Netherlands: '🇳🇱',
161 | New_Zealand: '🇳🇿',
162 | Nicaragua: '🇳🇮',
163 | Niger: '🇳🇪',
164 | Nigeria: '🇳🇬',
165 | North_Korea: '🇰🇵',
166 | North_Macedonia: '🇲🇰',
167 | Norway: '🇳🇴',
168 | Oman: '🇴🇲',
169 | Pakistan: '🇵🇰',
170 | Palau: '🇵🇼',
171 | Palestine: '🇵🇸',
172 | Panama: '🇵🇦',
173 | Papua_New_Guinea: '🇵🇬',
174 | Paraguay: '🇵🇾',
175 | Peru: '🇵🇪',
176 | Philippines: '🇵🇭',
177 | Poland: '🇵🇱',
178 | Portugal: '🇵🇹',
179 | Qatar: '🇶🇦',
180 | Romania: '🇷🇴',
181 | Russia: '🇷🇺',
182 | Rwanda: '🇷🇼',
183 | Saint_Kitts_and_Nevis: '🇰🇳',
184 | Saint_Lucia: '🇱🇨',
185 | Saint_Vincent_and_the_Grenadines: '🇻🇨',
186 | Samoa: '🇼🇸',
187 | San_Marino: '🇸🇲',
188 | Sao_Tome_and_Principe: '🇸🇹',
189 | Saudi_Arabia: '🇸🇦',
190 | Senegal: '🇸🇳',
191 | Serbia: '🇷🇸',
192 | Seychelles: '🇸🇨',
193 | Sierra_Leone: '🇸🇱',
194 | Singapore: '🇸🇬',
195 | Slovakia: '🇸🇰',
196 | Slovenia: '🇸🇮',
197 | Solomon_Islands: '🇸🇧',
198 | Somalia: '🇸🇴',
199 | South_Africa: '🇿🇦',
200 | South_Korea: '🇰🇷',
201 | South_Sudan: '🇸🇸',
202 | Spain: '🇪🇸',
203 | Sri_Lanka: '🇱🇰',
204 | Sudan: '🇸🇩',
205 | Suriname: '🇸🇷',
206 | Sweden: '🇸🇪',
207 | Switzerland: '🇨🇭',
208 | Syria: '🇸🇾',
209 | Taiwan: '🇹🇼',
210 | Tajikistan: '🇹🇯',
211 | Tanzania: '🇹🇿',
212 | Thailand: '🇹🇭',
213 | Togo: '🇹🇬',
214 | Tonga: '🇹🇴',
215 | Trinidad_and_Tobago: '🇹🇹',
216 | Tunisia: '🇹🇳',
217 | Turkey: '🇹🇷',
218 | Turkmenistan: '🇹🇲',
219 | Tuvalu: '🇹🇻',
220 | Uganda: '🇺🇬',
221 | Ukraine: '🇺🇦',
222 | United_Arab_Emirates: '🇦🇪',
223 | United_Kingdom: '🇬🇧',
224 | United_States: '🇺🇸',
225 | Uruguay: '🇺🇾',
226 | Uzbekistan: '🇺🇿',
227 | Vanuatu: '🇻🇺',
228 | Vatican_City: '🇻🇦',
229 | Venezuela: '🇻🇪',
230 | Vietnam: '🇻🇳',
231 | Yemen: '🇾🇪',
232 | Zambia: '🇿🇲',
233 | Zimbabwe: '🇿🇼',
234 | }
235 |
236 | // Function to get the flag of a country
237 | const getFlag = country => flags[country.replaceAll(' ', '_')] || ''
238 |
239 | // Function to get symbol or question mark
240 | const getSymbolOrQuestion = value => {
241 | if (value === true) {
242 | return '✅'
243 | } else if (value === false) {
244 | return '❌'
245 | } else {
246 | return ''
247 | }
248 | }
249 |
250 | // Add the initial content to the README
251 | let readmeContent = `
252 | 🌐 Vue.js Companies Directory
253 |
254 | Welcome to the Vue Companies Directory repository! This project aims to provide a comprehensive list of companies worldwide that use Vue.js in their tech stack. It's a community-driven effort to showcase Vue.js adoption across different countries and industries.
255 | Currently, we have ${jsonData.length} companies listed from ${sortedCountries.length} different countries! Let's grow our community together by adding more companies and sharing this repository with fellow Vue.js enthusiasts.
256 |
257 | Contents
258 |
259 |
260 | `
261 |
262 | // Add country names to the Contents section
263 | sortedCountries.forEach(country => {
264 | readmeContent += `- ${getFlag(country)} - ${country}
\n`
267 | })
268 |
269 | readmeContent += `
270 | - 👩💻 - Contributing
271 | - 🔍 - Sources
272 |
273 |
274 | `
275 |
276 | sortedCountries.forEach(country => {
277 | readmeContent += `${getFlag(country)} - ${country}
\n\n`
278 | readmeContent += '\n'
279 | readmeContent += 'Name | Remote | Hybrid | Hiring | Contact |
\n'
280 |
281 | companiesByCountry[country].forEach(({ contact, description, isHybrid, isHiring, isRemote, name, website }) => {
282 | readmeContent += '\n'
283 | readmeContent += `${website ? `${name}` : name} | \n`
284 | readmeContent += `${getSymbolOrQuestion(isRemote)} | \n`
285 | readmeContent += `${getSymbolOrQuestion(isHybrid)} | \n`
286 | readmeContent += `${getSymbolOrQuestion(isHiring)} | \n`
287 | readmeContent += `${
288 | contact?.url ? `${contact?.text || contact.url}` : ''
289 | } | \n`
290 | readmeContent += '
\n'
291 |
292 | if (description) {
293 | readmeContent += `${description} |
\n`
294 | }
295 | })
296 |
297 | readmeContent += '
'
298 | })
299 |
300 | readmeContent += '
🔍 Sources
\n'
301 | refs.forEach(ref => {
302 | readmeContent += `- ${ref}
\n`
303 | })
304 | readmeContent += '
\n'
305 |
306 | // Add static sections to the README content
307 | readmeContent += `
308 | 👾 How can I support?
309 |
310 | - ⭐ Star my GitHub repo
311 | - 🛠 Create pull requests, submit bugs, suggest new features or updates
312 |
313 | `
314 |
315 | readmeContent += `
316 | 👩💻 Contributing
317 | We welcome contributions! If you know of any Vue.js companies not listed here, feel free to add them by creating a pull request.
318 | Follow these steps to create a PR:
319 |
320 | - Fork the repository.
321 | - Create a new branch:
git checkout -b my-branch-name
322 | - Update the
src/list.json
file with the new company details:
323 |
324 |
325 | {
326 | "name": "New Company Name",
327 | "country": "Country Name (ex: Turkey, USA, Spain, India etc...)",
328 | "isRemote": true,
329 | "isHybrid": false,
330 | "isHiring": true,
331 | "website": "https://example.com",
332 | "contact": { "text": "mustafacagri", "url": "https://www.linkedin.com/in/mustafacagri" },
333 | "description": "Optional description of the company."
334 | }
335 |
336 |
337 | If there is no information, you can leave the field empty, like this:
338 |
339 |
340 | {
341 | "name": "Company Name",
342 | "country": "Turkey",
343 | "website": "https://example.com",
344 | }
345 |
346 |
347 | - Save your changes and commit them:
git commit -am 'feat(Turkey): add Company X and Company Y'
348 | - Push to the branch:
git push origin my-branch-name
349 | - Create a new pull request.
350 |
351 | Thank you for your contributions! 🙌🌟
352 | `
353 |
354 | // Write the updated content to README.md
355 | fs.writeFileSync(readmeFilePath, readmeContent)
356 |
357 | console.log('README.md file generated successfully.')
358 |
--------------------------------------------------------------------------------