├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── .prettierrc
├── LICENSE
├── README.md
├── assets
├── README.md
└── styles
│ ├── _global.scss
│ ├── _variables.scss
│ └── main.scss
├── components
├── AboutHeader.vue
├── BaseButton.vue
├── BaseContainer.vue
├── DonationBanner.vue
├── HomeHeader.vue
├── ProgramHeader.vue
├── README.md
├── SoftwaresCategoriesNavigation.vue
├── SoftwaresList.vue
├── SoftwaresListEmpty.vue
├── SoftwaresListItem.vue
├── TheFooter.vue
├── TheLogo.vue
├── TheNavbar.vue
└── TheNewsletter.vue
├── config
└── index.js
├── data
├── causes.json
├── causes
│ ├── empower-businesses.json
│ ├── health-and-wellness.json
│ ├── research.json
│ ├── study-remotely.json
│ └── work-remotely.json
└── softwares.json
├── jsconfig.json
├── layouts
├── README.md
└── default.vue
├── locales
├── en.js
└── index.js
├── middleware
└── README.md
├── mixins
└── causesAndCategories.js
├── netlify.toml
├── nuxt.config.js
├── package-lock.json
├── package.json
├── pages
├── README.md
├── _cause
│ └── index.vue
├── about.vue
├── index.vue
└── program.vue
├── plugins
├── README.md
├── vue2-scrollspy.js
└── vue2-smooth-scroll.js
├── scripts
└── getLogos.js
├── services
├── getCategoriesAndSoftwares.js
├── getCauseName.js
└── getCauses.js
├── static
├── README.md
├── admin
│ ├── config.yml
│ └── index.html
├── android-chrome-192x192.png
├── android-chrome-512x512.png
├── apple-touch-icon.png
├── browserconfig.xml
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon.ico
├── icon.png
├── images
│ ├── background.svg
│ ├── program
│ │ ├── student1.jpg
│ │ └── student2.jpg
│ └── softwares
│ │ ├── adobe-logo.png
│ │ ├── airtable-logo.png
│ │ ├── alugha-logo.png
│ │ ├── amazon-chime-logo.png
│ │ ├── atlassian-logo.png
│ │ ├── aws-ddi-logo.png
│ │ ├── bluejeans-logo.png
│ │ ├── box-logo.png
│ │ ├── cisco-webex-logo.png
│ │ ├── cloudflare-logo.png
│ │ ├── code-academy-logo.jpg
│ │ ├── codeacademy-logo.png
│ │ ├── datarobot-logo.png
│ │ ├── designmodo-logo.png
│ │ ├── discord-logo.png
│ │ ├── dropbox-logo.png
│ │ ├── headspace-logo.png
│ │ ├── heysummit-logo.png
│ │ ├── hiver-logo.png
│ │ ├── icon.png
│ │ ├── intercom-logo.png
│ │ ├── krisp-logo.png
│ │ ├── liveagent-logo.png
│ │ ├── livestorm-logo.png
│ │ ├── logmein-logo.png
│ │ ├── loom-logo.png
│ │ ├── manageengine-logo.png
│ │ ├── meet-logo.png
│ │ ├── message-bird-logo.png
│ │ ├── messagebird-logo.png
│ │ ├── miro-logo.png
│ │ ├── nvidia-parabricks-logo.png
│ │ ├── openphone-logo.png
│ │ ├── packback-logo.png
│ │ ├── pluralsight-logo.png
│ │ ├── pr-co-logo.png
│ │ ├── remotehq-logo.png
│ │ ├── rise-science-logo.png
│ │ ├── sanako-logo.jpeg
│ │ ├── sanako-logo.png
│ │ ├── screen-logo.png
│ │ ├── slack-logo.png
│ │ ├── tandem-logo.png
│ │ ├── teams-logo.png
│ │ ├── typeform-logo.png
│ │ ├── udemy-logo.png
│ │ ├── webflow-logo.png
│ │ ├── zapier-logo.png
│ │ ├── zoho-remotely-logo.png
│ │ └── zoom-logo.png
├── mstile-150x150.png
├── safari-pinned-tab.svg
└── softwaredonation.png
├── store
└── README.md
└── stylelint.config.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | browser: true,
5 | node: true
6 | },
7 | parserOptions: {
8 | parser: 'babel-eslint'
9 | },
10 | extends: [
11 | '@nuxtjs',
12 | 'prettier',
13 | 'prettier/vue',
14 | 'plugin:prettier/recommended',
15 | 'plugin:nuxt/recommended'
16 | ],
17 | plugins: [
18 | 'prettier'
19 | ],
20 | // add your custom rules here
21 | rules: {
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Node template
3 | # Logs
4 | /logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # TypeScript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 |
62 | # parcel-bundler cache (https://parceljs.org/)
63 | .cache
64 |
65 | # next.js build output
66 | .next
67 |
68 | # nuxt.js build output
69 | .nuxt
70 |
71 | # Nuxt generate
72 | dist
73 |
74 | # vuepress build output
75 | .vuepress/dist
76 |
77 | # Serverless directories
78 | .serverless
79 |
80 | # IDE / Editor
81 | .idea
82 |
83 | # Service worker
84 | sw.*
85 |
86 | # macOS
87 | .DS_Store
88 |
89 | # Vim swap files
90 | *.swp
91 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "arrowParens": "always",
4 | "singleQuote": true
5 | }
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Software Donation [](https://opensource.org/licenses/Apache-2.0)
2 |
3 | > Empower those in need with the power of software
4 |
5 | https://softwaredonation.org
6 |
7 | ## 📖 Build Setup
8 |
9 | ``` bash
10 | # install dependencies
11 | $ npm install
12 |
13 | # serve with hot reload at localhost:3000
14 | $ npm run dev
15 |
16 | # build for production and launch server
17 | $ npm run build
18 | $ npm run start
19 |
20 | # generate static project
21 | $ npm run generate
22 | ```
23 |
24 | For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
25 |
26 | ## 🖼 Download logos
27 |
28 | Download softwares logos automatically based on their `url` and `image` that are on `data/softwares.json`
29 | ```
30 | npm run get-logos
31 | ```
32 |
33 | ## ⭐️ Show your support
34 | Please ⭐️ this repository if this project helped you!
--------------------------------------------------------------------------------
/assets/README.md:
--------------------------------------------------------------------------------
1 | # ASSETS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
8 |
--------------------------------------------------------------------------------
/assets/styles/_global.scss:
--------------------------------------------------------------------------------
1 | $font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell,
2 | "Helvetica Neue", sans-serif;
3 |
4 | $font-family-display: $font-family-system;
5 | $font-family-body: $font-family-system;
6 |
7 | $font-weight-body: 400;
8 | $font-weight-display: 700;
9 |
10 | $line-height-body: 1.6;
11 | $line-height-display: 1.4;
12 |
13 | $letter-spacing-body: 0;
14 | $letter-spacing-display: 0;
15 |
16 | * {
17 | box-sizing: border-box;
18 | }
19 |
20 | body {
21 | background-color: $color-grey-light;
22 | font-family: $font-family-body;
23 | font-weight: $font-weight-body;
24 | line-height: $line-height-body;
25 | letter-spacing: $letter-spacing-body;
26 | color: $color-grey-darkest;
27 | }
28 |
29 | h1,
30 | h2,
31 | h3,
32 | h4,
33 | h5,
34 | h6 {
35 | font-family: $font-family-display;
36 | font-weight: $font-weight-display;
37 | line-height: $line-height-display;
38 | letter-spacing: $letter-spacing-display;
39 | margin: 0;
40 | }
41 |
42 | a {
43 | text-decoration: none;
44 | color: $color-grey-dark;
45 |
46 | &:hover {
47 | color: $color-primary;
48 | }
49 | }
--------------------------------------------------------------------------------
/assets/styles/_variables.scss:
--------------------------------------------------------------------------------
1 | $border-radius-sm: 2px;
2 | $border-radius-md: 4px;
3 | $border-radius-xl: 8px;
4 | $border-radius-button: $border-radius-sm;
5 | $border-radius-card: $border-radius-md;
6 | $border-radius-banner: $border-radius-xl;
7 |
8 | $font-size-xxxs: 12px;
9 | $font-size-xxs: 14px;
10 | $font-size-xs: 16px;
11 | $font-size-sm: 18px;
12 | $font-size-md: 20px;
13 | $font-size-lg: 24px;
14 | $font-size-xl: 32px;
15 | $font-size-xxl: 48px;
16 | $font-size-xxxl: 60px;
17 | $font-size-4xl: 72px;
18 |
19 | $space-4xs: 2px;
20 | $space-xxxs: 4px;
21 | $space-xxs: 8px;
22 | $space-xs: 12px;
23 | $space-sm: 16px;
24 | $space-md: 24px;
25 | $space-lg: 32px;
26 | $space-xl: 48px;
27 | $space-xxl: 64px;
28 | $space-xxxl: 96px;
29 | $space-4xl: 128px;
30 | $space-5xl: 192px;
31 | $space-6xl: 256px;
32 | $space-7xl: 384px;
33 | $space-8xl: 512px;
34 |
35 | $shadow-elevation-1: 0 1px 3px hsla(0, 0, 0, 0.12), 0 1px 2px hsla(0, 0, 0, 0.24);
36 | $shadow-elevation-2: 0 3px 6px hsla(0, 0, 0, 0.15), 0 2px 4px hsla(0, 0, 0, 0.12);
37 | $shadow-elevation-3: 0 10px 20px hsla(0, 0, 0, 0.15), 0 3px 6px hsla(0, 0, 0, 0.1);
38 | $shadow-elevation-4: 0 15px 25px hsla(0, 0, 0, 0.15), 0 5px 10px hsla(0, 0, 0, 0.5);
39 | $shadow-elevation-5: 0 20px 40px hsla(0, 0, 0, 0.2);
40 |
41 | $color-grey-darkest: #12263f;
42 | $color-grey-dark: #617692;
43 | $color-grey: #d2ddec;
44 | $color-grey-light: #edf1f5;
45 | $color-grey-lightest: #f5f7fa;
46 |
47 | $color-primary-darkest: #12283a;
48 | $color-primary-darker: #1a4971;
49 | $color-primary-dark: #2368a2;
50 | $color-primary: #3183c8;
51 | $color-primary-light: #3183c8;
52 | $color-primary-lighter: #aad4f5;
53 | $color-primary-lightest: #eff8ff;
54 |
55 | $color-accent-darkest: #124544;
56 | $color-accent-darker: #1b655e;
57 | $color-accent-dark: #2a9187;
58 | $color-accent: #3caea3;
59 | $color-accent-light: #6ed7d3;
60 | $color-accent-lighter: #a8eeeb;
61 | $color-accent-lightest: #eff8ff;
62 |
63 | $color-danger-darkest: #5f1919;
64 | $color-danger-darker: #871c1c;
65 | $color-danger-dark: #b22021;
66 | $color-danger: #db3030;
67 | $color-danger-light: #e16364;
68 | $color-danger-lighter: #f5aaaa;
69 | $color-danger-lightest: #f9e5e6;
70 |
71 | $color-warning-darkest: #5c4813;
72 | $color-warning-darker: #8c6d1f;
73 | $color-warning-dark: #caa53d;
74 | $color-warning: #f4ca64;
75 | $color-warning-light: #fae29f;
76 | $color-warning-lighter: #fdf3d7;
77 | $color-warning-lightest: #fffcf4;
78 |
79 | $color-success-darkest: #145138;
80 | $color-success-darker: #197741;
81 | $color-success-dark: #259d58;
82 | $color-success: #38c172;
83 | $color-success-light: #74d99f;
84 | $color-success-lighter: #a8eec1;
85 | $color-success-lightest: #e3fcec;
86 |
87 | $container-width: 1100px;
88 | $container-padding: $space-sm;
89 |
90 | $screen-sm: 576px;
91 | $screen-md: 768px;
92 | $screen-lg: 992px;
93 | $screen-xl: 1200px;
--------------------------------------------------------------------------------
/assets/styles/main.scss:
--------------------------------------------------------------------------------
1 | @import 'normalize.css';
2 | @import 'variables';
3 | @import 'global';
--------------------------------------------------------------------------------
/components/AboutHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
19 |
20 |
55 |
--------------------------------------------------------------------------------
/components/BaseButton.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
61 |
62 |
153 |
--------------------------------------------------------------------------------
/components/BaseContainer.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
15 |
--------------------------------------------------------------------------------
/components/DonationBanner.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ $t('donation_banner.title') }}
7 |
8 |
9 | {{ $t('donation_banner.description') }}
10 |
11 |
12 |
{{
13 | $t('donation_banner.button')
14 | }}
15 |
16 |
17 |
18 |
19 |
37 |
38 |
72 |
--------------------------------------------------------------------------------
/components/HomeHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
20 |
21 |
63 |
--------------------------------------------------------------------------------
/components/ProgramHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
33 |
34 |
70 |
--------------------------------------------------------------------------------
/components/README.md:
--------------------------------------------------------------------------------
1 | # COMPONENTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | The components directory contains your Vue.js Components.
6 |
7 | _Nuxt.js doesn't supercharge these components._
8 |
--------------------------------------------------------------------------------
/components/SoftwaresCategoriesNavigation.vue:
--------------------------------------------------------------------------------
1 |
2 |
24 |
25 |
26 |
36 |
37 |
80 |
--------------------------------------------------------------------------------
/components/SoftwaresList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ $t('home.causes.call_to_action_sentence') }}
7 |
8 |
17 | {{ cause.name }}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
30 |
31 | {{ category.name }}
32 |
33 |
34 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
91 |
92 |
135 |
--------------------------------------------------------------------------------
/components/SoftwaresListEmpty.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ $t('empty_list.title') }}
5 |
6 |
7 |
8 |
9 |
10 | {{ $t('empty_list.newsletter') }}
11 |
12 |
13 |
14 |
15 |
16 |
17 | {{ $t('empty_list.donate') }}
18 |
19 |
20 | {{
21 | $t('empty_list.button')
22 | }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
46 |
47 |
73 |
--------------------------------------------------------------------------------
/components/SoftwaresListItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
15 | {{ name | firstLetter }}
16 |
17 |
{{ name }}
18 |
19 |
{{ $t('software.get') }}
25 |
26 |
{{ description }}
27 |
{{ eligibility }}
28 |
29 |
30 |
31 |
79 |
80 |
144 |
--------------------------------------------------------------------------------
/components/TheFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
22 |
23 |
24 |
25 |
50 |
51 |
96 |
--------------------------------------------------------------------------------
/components/TheLogo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 | logo33
10 |
11 |
15 |
19 |
23 |
27 |
31 |
35 |
39 |
43 |
47 |
51 |
55 |
59 |
63 |
67 |
71 |
75 |
79 |
83 |
87 |
91 |
92 |
93 |
94 |
98 |
102 |
106 |
110 |
111 |
112 |
113 |
114 |
115 |
133 |
--------------------------------------------------------------------------------
/components/TheNavbar.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 | {{ link.title }}
18 |
19 |
20 |
21 | {{ $t('navigation.program') }}
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
77 |
78 |
140 |
--------------------------------------------------------------------------------
/components/TheNewsletter.vue:
--------------------------------------------------------------------------------
1 |
2 |
42 |
43 |
44 |
107 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 | export const DEFAULT_CAUSE = 'work-remotely'
2 | export const DONATE_LINK = 'https://letsdonatesoftware.typeform.com/to/w2aXXR'
3 | export const CONTACT_FORM_LINK =
4 | 'https://letsdonatesoftware.typeform.com/to/sARrWd'
5 | export const GITHUB_LINK =
6 | 'https://github.com/SoftwareDonation/software-donation'
7 | export const MAIN_TITLE = 'Software Donation'
8 | export const MAIN_DESCRIPTION = 'Donate software to people in need'
9 | export const SOCIAL_DESCRIPTION = 'Donate software to support causes and people'
10 |
--------------------------------------------------------------------------------
/data/causes.json:
--------------------------------------------------------------------------------
1 | {
2 | "causes": [
3 | {
4 | "id": "work-remotely",
5 | "name": "Work Remotely"
6 | },
7 | {
8 | "id": "study-remotely",
9 | "name": "Study Remotely"
10 | },
11 | {
12 | "id": "health-and-wellness",
13 | "name": "Health and Wellness"
14 | },
15 | {
16 | "id": "empower-businesses",
17 | "name": "Empower Businesses"
18 | },
19 | {
20 | "id": "research",
21 | "name": "Research"
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/data/causes/empower-businesses.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "empower-businesses",
3 | "categories": [
4 | {
5 | "name": "Design and Build Tools",
6 | "softwares": [
7 | {
8 | "id": "webflow"
9 | },
10 | {
11 | "id": "adobe"
12 | },
13 | {
14 | "id": "designmodo"
15 | }
16 | ]
17 | },
18 | {
19 | "name": "Communication Tools",
20 | "softwares": [
21 | {
22 | "id": "openphone"
23 | },
24 | {
25 | "id": "messagebird"
26 | },
27 | {
28 | "id": "intercom"
29 | },
30 | {
31 | "id": "liveagent"
32 | }
33 | ]
34 | },
35 | {
36 | "name": "Marketing",
37 | "softwares": [
38 | {
39 | "id": "pr-co"
40 | },
41 | {
42 | "id": "alugha"
43 | }
44 | ]
45 | },
46 | {
47 | "name": "Infrastructure",
48 | "softwares": [
49 | {
50 | "id": "cloudflare"
51 | }
52 | ]
53 | },
54 | {
55 | "name": "Data Collection",
56 | "softwares": [
57 | {
58 | "id": "typeform"
59 | }
60 | ]
61 | },
62 | {
63 | "name": "Automation",
64 | "softwares": [
65 | {
66 | "id": "zapier"
67 | }
68 | ]
69 | }
70 | ]
71 | }
72 |
--------------------------------------------------------------------------------
/data/causes/health-and-wellness.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "health-and-wellness",
3 | "categories": [
4 | {
5 | "name": "Meditation",
6 | "softwares": [
7 | {
8 | "id": "headspace"
9 | }
10 | ]
11 | },
12 | {
13 | "name": "Better Sleep",
14 | "softwares": [
15 | {
16 | "id": "rise-science"
17 | }
18 | ]
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/data/causes/research.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "research",
3 | "categories": [
4 | {
5 | "name": "Cloud Computing Services",
6 | "softwares": [
7 | {
8 | "id": "aws-ddi"
9 | }
10 | ]
11 | },
12 | {
13 | "name": "Machine Learning and Data Analysis Tools",
14 | "softwares": [
15 | {
16 | "id": "datarobot"
17 | },
18 | {
19 | "id": "nvidia-parabricks"
20 | }
21 | ]
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/data/causes/study-remotely.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "study-remotely",
3 | "categories": [
4 | {
5 | "name": "Online Courses",
6 | "softwares": [
7 | {
8 | "id": "codeacademy"
9 | },
10 | {
11 | "id": "udemy"
12 | },
13 | {
14 | "id": "pluralsight"
15 | }
16 | ]
17 | },
18 | {
19 | "name": "Digital Classroom",
20 | "softwares": [
21 | {
22 | "id": "sanako"
23 | }
24 | ]
25 | },
26 | {
27 | "name": "Discussion Platform",
28 | "softwares": [
29 | {
30 | "id": "packback"
31 | }
32 | ]
33 | }
34 | ]
35 | }
36 |
--------------------------------------------------------------------------------
/data/causes/work-remotely.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "work-remotely",
3 | "categories": [
4 | {
5 | "name": "Remote Communication",
6 | "softwares": [
7 | {
8 | "id": "hangouts-meet"
9 | },
10 | {
11 | "id": "microsoft-teams"
12 | },
13 | {
14 | "id": "zoom"
15 | },
16 | {
17 | "id": "cisco-webex"
18 | },
19 | {
20 | "id": "logmein"
21 | },
22 | {
23 | "id": "discord"
24 | },
25 | {
26 | "id": "livestorm"
27 | },
28 | {
29 | "id": "bluejeans"
30 | },
31 | {
32 | "id": "heysummit"
33 | },
34 | {
35 | "id": "krisp"
36 | }
37 | ]
38 | },
39 | {
40 | "name": "Remote Collaboration",
41 | "softwares": [
42 | {
43 | "id": "miro"
44 | },
45 | {
46 | "id": "loom"
47 | },
48 | {
49 | "id": "airtable"
50 | },
51 | {
52 | "id": "zoho-remotely"
53 | },
54 | {
55 | "id": "atlassian"
56 | },
57 | {
58 | "id": "hiver"
59 | }
60 | ]
61 | },
62 | {
63 | "name": "Remote Office",
64 | "softwares": [
65 | {
66 | "id": "remotehq"
67 | },
68 | {
69 | "id": "tandem"
70 | },
71 | {
72 | "id": "slack"
73 | },
74 | {
75 | "id": "screen"
76 | }
77 | ]
78 | },
79 | {
80 | "name": "Remote File Sharing",
81 | "softwares": [
82 | {
83 | "id": "dropbox"
84 | },
85 | {
86 | "id": "box"
87 | }
88 | ]
89 | },
90 | {
91 | "name": "Remote Operation",
92 | "softwares": [
93 | {
94 | "id": "manageengine"
95 | }
96 | ]
97 | }
98 | ]
99 | }
100 |
--------------------------------------------------------------------------------
/data/softwares.json:
--------------------------------------------------------------------------------
1 | {
2 | "softwares": [
3 | {
4 | "id": "hangouts-meet",
5 | "name": "Hangouts Meet",
6 | "description": "Video conferencing from Google that integrates with G Suite versions of Google Calendar and Gmail",
7 | "eligibility": "🎁 Free for all users until July 1, 2020, offering up to 250 users per call, the ability to record meetings, and livestream capabilities for up to 100,000 viewers",
8 | "url": "https://cloud.google.com/blog/products/g-suite/helping-businesses-and-schools-stay-connected-in-response-to-coronavirus",
9 | "image": "/images/softwares/meet-logo.png"
10 | },
11 | {
12 | "id": "microsoft-teams",
13 | "name": "Microsoft Teams",
14 | "description": "Hub for team collaboration in Office 365 that integrates the people, content, and tools your team needs to be more engaged and effective",
15 | "eligibility": "🎁 Premium version of Teams for free for six months for everyone and existing user limits have been lifted on its free version",
16 | "url": "https://www.microsoft.com/en-us/microsoft-365/blog/2020/03/05/our-commitment-to-customers-during-covid-19/",
17 | "image": "/images/softwares/teams-logo.png"
18 | },
19 | {
20 | "id": "loom",
21 | "name": "Loom",
22 | "description": "Screen & video Recording software",
23 | "eligibility": "🎁 Loom Pro is now free for education. Through July 1, no recording limit on free plan, Loom Pro trials extended from 14 to 30 days and the Loom Pro price is cut in half — from $10 month to $5 month",
24 | "url": "https://www.loom.com/blog/coronavirus-response",
25 | "image": "/images/softwares/loom-logo.png"
26 | },
27 | {
28 | "id": "logmein",
29 | "name": "LogMeIn",
30 | "description": "Emergency Remote Work Kits which include GoToMeeting and GoToWebinar, where users can host presentations for up to 3,000 users",
31 | "eligibility": "🎁 Available for free for three months for nonprofits, schools, and health care organizations that aren't already customers",
32 | "url": "https://blog.gotomeeting.com/coronavirus-disruptions-and-support/",
33 | "image": "/images/softwares/logmein-logo.png"
34 | },
35 | {
36 | "id": "remotehq",
37 | "name": "RemoteHQ",
38 | "description": "Real-time collaboration for distributed teams, offering video conferencing, screen share, co-browsing, file sharing, whiteboarding, joint note-taking, audio recoring and many more",
39 | "eligibility": "🎁 Free access to all new users",
40 | "url": "https://www.remotehq.com/stay-healthy",
41 | "image": "/images/softwares/remotehq-logo.png"
42 | },
43 | {
44 | "id": "tandem",
45 | "name": "Tandem",
46 | "description": "Virtual office for remote teams allowing its users to see, talk to, and collaborate with their team in one click",
47 | "eligibility": "🎁 Free access to all new users for the next few months",
48 | "url": "https://tandem.chat/coronavirus",
49 | "image": "/images/softwares/tandem-logo.png"
50 | },
51 | {
52 | "id": "cisco-webex",
53 | "name": "Cisco Webex",
54 | "description": "Video conferencing, online meetings, screen share",
55 | "eligibility": "🎁 Free version with no time restrictions, allowing up to 100 meeting participants and has added toll-free dial-in features with a 90-day license for businesses that are not already customers",
56 | "url": "https://blog.webex.com/video-conferencing/cisco-webex-supporting-customers-during-this-unprecedented-time/",
57 | "image": "/images/softwares/cisco-webex-logo.png"
58 | },
59 | {
60 | "id": "zoom",
61 | "name": "Zoom",
62 | "description": "Video conferencing, online Meetings, screen share",
63 | "eligibility": "🎁 Extended its free plan in China to allow unlimited meeting times and breakout rooms, and removed restrictions on participant limits",
64 | "url": "https://blog.zoom.us/wordpress/2020/02/26/zoom-commitment-user-support-business-continuity-during-coronavirus-outbreak/",
65 | "image": "/images/softwares/zoom-logo.png"
66 | },
67 | {
68 | "id": "discord",
69 | "name": "Discord",
70 | "description": " Voice, text chat andlive streaming for your team",
71 | "eligibility": "🎁 Go Live streaming limit from 10 to 50 people for everyone for the next few months",
72 | "url": "https://support.discordapp.com/hc/en-us/articles/360030714312-Stream-your-game-with-Go-Live-",
73 | "image": "/images/softwares/discord-logo.png"
74 | },
75 | {
76 | "id": "miro",
77 | "name": "Miro",
78 | "description": "Collaborative whiteboard platform for distributed teams",
79 | "eligibility": "🎁 Free up to 3 whiteboards for all users and 30% discount on premium subscriptions for non-profit organizations",
80 | "url": "https://help.miro.com/hc/en-us/articles/360026839633-NPO-Subscriptions",
81 | "image": "/images/softwares/miro-logo.png"
82 | },
83 | {
84 | "id": "dropbox",
85 | "name": "Dropbox",
86 | "description": "Upload and transfer files to the cloud, and share them with anyone with any of your computers or mobile devices—from anywhere",
87 | "eligibility": "🎁 Free Dropbox Business subscriptions for a three-month period to nonprofits and NGOs that are focused on fighting COVID-19",
88 | "url": "https://go.dropbox.com/en-us/covid19-donation-program",
89 | "image": "/images/softwares/dropbox-logo.png"
90 | },
91 | {
92 | "id": "box",
93 | "name": "Box",
94 | "description": "A single place to manage, secure, share and govern all of the content for your internal and external collaboration and processes",
95 | "eligibility": "🎁 Box business edition free for 90 days here for any small and medium businesses",
96 | "url": "https://account.box.com/signup/business?tl=oWgBWV",
97 | "image": "/images/softwares/box-logo.png"
98 | },
99 | {
100 | "id": "slack",
101 | "name": "Slack",
102 | "description": "A chat room for your whole company, designed to replace email as your primary method of communication and sharing",
103 | "eligibility": "🎁 Free access to a Slack paid plan for three months for all nonprofits and other organizations carrying out critical relief efforts",
104 | "url": "https://slack.com/covid-help/apply",
105 | "image": "/images/softwares/slack-logo.png"
106 | },
107 | {
108 | "id": "airtable",
109 | "name": "Airtable",
110 | "description": "Airtable works like a spreadsheet but gives you the power of a database to organize anything",
111 | "eligibility": "🎁 Pro plans available for free—with no time limit—to any non-political humanitarian groups working on COVID-19 relief efforts",
112 | "url": "https://blog.airtable.com/airtables-support-for-covid-19-response-efforts/",
113 | "image": "/images/softwares/airtable-logo.png"
114 | },
115 | {
116 | "id": "livestorm",
117 | "name": "Livestorm",
118 | "description": "Browser based online web conferencing software to power remote live meetings, product demos, sales webinars, online lessons, onboarding sessions, more",
119 | "eligibility": "🎁 Free and unlimited use of Remote video meeting solution for the duration of the pandemic",
120 | "url": "https://livestorm.co/blog/livestorm-and-covid-19/",
121 | "image": "/images/softwares/livestorm-logo.png"
122 | },
123 | {
124 | "id": "bluejeans",
125 | "name": "BlueJeans",
126 | "description": "Cloud-based video conferencing service that connects participants across a wide range of devices and conferencing platforms",
127 | "eligibility": "🎁 Free 90-Day Service for First Responders and NGOs Helping With the Novel Coronavirus Response",
128 | "url": "https://www.bluejeans.com/first-responder-free-ninety-days",
129 | "image": "/images/softwares/bluejeans-logo.png"
130 | },
131 | {
132 | "id": "zoho-remotely",
133 | "name": "Zoho Remotely",
134 | "description": "Zoho Remotely is a a complete suite of web and mobile apps that will help you communicate, collaborate and be productive remotely",
135 | "eligibility": "🎁 Free till July 1, 2020 by which time we hope the Coronavirus crisis tides over",
136 | "url": "https://www.zoho.com/remotely/",
137 | "image": "/images/softwares/zoho-remotely-logo.png"
138 | },
139 | {
140 | "id": "heysummit",
141 | "name": "HeySummit",
142 | "description": "Organize, promote, and analyse you online summits",
143 | "eligibility": "🎁 One free virtual summit for coronavirus-affected events that are scheduled in the next three months",
144 | "url": "https://heysummit.com/blog/free-virtual-summit-corona-affected-events/",
145 | "image": "/images/softwares/heysummit-logo.png"
146 | },
147 | {
148 | "id": "krisp",
149 | "name": "Krisp",
150 | "description": "Noise cancelling app that removes all background noises for incoming and outgoing calls",
151 | "eligibility": "🎁 Unlimited Krisp for all students, teachers, hospital and government workers, worldwide + 120min/week of free noise for all users",
152 | "url": "https://krisp.ai/blog/covid19-response/",
153 | "image": "/images/softwares/krisp-logo.png"
154 | },
155 | {
156 | "id": "headspace",
157 | "name": "Headspace",
158 | "description": "Your guide to everyday mindfulness in just a few minutes a day for less stress and better sleep",
159 | "eligibility": "🎁 Free access to Headspace Plus for all K-12 teachers, school administrators, and supporting staff in the US, UK, Canada, and Australia, US healthcare professionals working in public health settings",
160 | "url": "https://www.headspace.com/covid-19",
161 | "image": "/images/softwares/headspace-logo.png"
162 | },
163 | {
164 | "id": "webflow",
165 | "name": "Webflow",
166 | "description": "Webflow gives designers and developers the power to design, build, and launch responsive websites visually in the browser",
167 | "eligibility": "🎁 Available free of charge to any organization creating informational websites to slow the spread of COVID-19",
168 | "url": "https://twitter.com/webflow/status/1239587770139639808",
169 | "image": "/images/softwares/webflow-logo.png"
170 | },
171 | {
172 | "id": "atlassian",
173 | "name": "Atlassian",
174 | "description": "Software development, collaboration and issue tracking tools for teams",
175 | "eligibility": "🎁 Core cloud software products available for free for everyone",
176 | "url": "https://www.atlassian.com/blog/teamwork/atlassians-commitment-to-our-customers-during-the-covid-19-pandemic",
177 | "image": "/images/softwares/atlassian-logo.png"
178 | },
179 | {
180 | "id": "screen",
181 | "name": "Screen",
182 | "description": "Fast screen sharing with multiplayer control, drawing & video, also great for pair programming",
183 | "eligibility": "🎁 Free for everyone during the COVID-19 outbreak",
184 | "url": "https://screen.so/#/pricing",
185 | "image": "/images/softwares/screen-logo.png"
186 | },
187 | {
188 | "id": "openphone",
189 | "name": "OpenPhone",
190 | "description": "Simple and delightful business phone for startups, small businesses and individuals",
191 | "eligibility": "🎁 3 months free when you port a landline or desk phone",
192 | "url": "https://www.openphone.co/blog/port-landline-to-openphone/",
193 | "image": "/images/softwares/openphone-logo.png"
194 | },
195 | {
196 | "id": "messagebird",
197 | "name": "MessageBird",
198 | "description": "Cloud communications platform offering a suite of APIs, SDKs, and tools for programmatic communication on SMS, Voice, Whatsapp, Messenger, WeChat, Line, and more",
199 | "eligibility": "🎁 Free and unlimited public health and safety communication for the hospitals, governments, and any essential providers that need to keep people up-to-date and answer critical questions",
200 | "url": "https://www.messagebird.com/inbox-for-good",
201 | "image": "/images/softwares/message-bird-logo.png"
202 | },
203 | {
204 | "id": "pr-co",
205 | "name": "pr.co",
206 | "description": "Public relations and communications plarform, offering intuitive newsrooms, media centers and press pages",
207 | "eligibility": "🎁 Free for NGOs (and business) that have a role in providing information, reassurance, and guidance during crisis, plus collaboration features for free to all customers",
208 | "url": "https://news.pr.co/187218-pr-co-fully-operational-and-offering-some-services-for-free-during-the-covid-19-crisis",
209 | "image": "/images/softwares/pr-co-logo.png"
210 | },
211 | {
212 | "id": "intercom",
213 | "name": "Intercom",
214 | "description": "Customer messaging apps for sales, marketing, and support, connected on one platform",
215 | "eligibility": "🎁 Available free of charge to any company or institution fighting COVID-19 and its impact on society, or working to help those affected",
216 | "url": "https://www.intercom.com/partner/covid-19-information",
217 | "image": "/images/softwares/intercom-logo.png"
218 | },
219 | {
220 | "id": "cloudflare",
221 | "name": "Cloudflare",
222 | "description": "Content-delivery-network services, DDoS mitigation, Internet security for your company",
223 | "eligibility": "🎁 Cloudflare for Teams available for organizations of any size at no cost through September 1, including an optional 30-minute onboarding session with a technical expert",
224 | "url": "https://teams.cloudflare.com/",
225 | "image": "/images/softwares/cloudflare-logo.png"
226 | },
227 | {
228 | "id": "amazon-chime",
229 | "name": "Amazon Chime",
230 | "description": "Online meetings, voice and video chat, along with in-room conferencing services, working across any client device using native applications or browser extension",
231 | "eligibility": "🎁 Free use of all Amazon Chime Pro features for online meetings and video conferencing from March 4, 2020 to June 30, 2020 for all customers that start using Amazon Chime for the first time",
232 | "url": "https://aws.amazon.com/chime/pricing/",
233 | "image": "/images/softwares/amazon-chime-logo.png"
234 | },
235 | {
236 | "id": "rise-science",
237 | "name": "Rise",
238 | "description": "Sleep app that offers free sleep tracking and sleep-enhancing recommendations based on your circadian rhythm",
239 | "eligibility": "🎁 Free use for everyone throughout the COVID-19 crisis",
240 | "url": "https://www.risescience.com/better-sleep-better-health",
241 | "image": "/images/softwares/rise-science-logo.png"
242 | },
243 | {
244 | "id": "packback",
245 | "name": "Packback",
246 | "description": "AI-supported online discussion platform that offers asynchronous discussion experience, automated discussion moderation and real-time feedback on students’ posts",
247 | "eligibility": "🎁 Zero cost licenses through the end of the Spring semester or academic quarter for any higher education courses moving online mid-term due to COVID-19 prevention",
248 | "url": "https://www.packback.co/news/helping-classrooms-stay-connected-and-engaged-online/",
249 | "image": "/images/softwares/packback-logo.png"
250 | },
251 | {
252 | "id": "sanako",
253 | "name": "Sanako",
254 | "description": "Technology enhanced language centres for the digital classroom and beyond to move your school’s language classes online",
255 | "eligibility": "🎁 Remote teaching tool available for free for 5000 schools until end of semester",
256 | "url": "https://etcjournal.com/2020/03/17/sanako-remote-language-teaching-tool-free-until-end-of-semester",
257 | "image": "/images/softwares/sanako-logo.jpeg"
258 | },
259 | {
260 | "id": "codeacademy",
261 | "name": "Codeacademy",
262 | "description": "Technology enhanced language centres for the digital classroom and beyond to move your school’s language classes online",
263 | "eligibility": "🎁 10,000 scholarships to Codecademy Pro for free to high school and college students across the world for the rest of the school year",
264 | "url": "https://pro.codecademy.com/learn-from-home/",
265 | "image": "/images/softwares/code-academy-logo.jpg"
266 | },
267 | {
268 | "id": "typeform",
269 | "name": "Typeform",
270 | "description": "Build interactive, engaging, and conversational online forms for powering your brand’s interactions",
271 | "eligibility": "🎁 3 months free of Typeform for anyone working on COVID-19 related projects that are strictly not-for-profit",
272 | "url": "https://try.typeform.com/covid-19/",
273 | "image": "/images/softwares/typeform-logo.png"
274 | },
275 | {
276 | "id": "udemy",
277 | "name": "Udemy",
278 | "description": "Build interactive, engaging, and conversational online forms for powering your brand’s interactions",
279 | "eligibility": "🎁 More than 100 courses for free for everyone",
280 | "url": "https://www.udemy.com/courses/free/?sort=popularity&subcategory=Creativity",
281 | "image": "/images/softwares/udemy-logo.png"
282 | },
283 | {
284 | "id": "pluralsight",
285 | "name": "Pluralsight",
286 | "description": "Online education platform that offers a variety of video training courses for software developers, IT administrators, and creative professionals",
287 | "eligibility": "🎁 Pluralsight's entire library of 7,000+ online tech courses available for free for everyone during April",
288 | "url": "https://www.pluralsight.com/offer/2020/free-april-month",
289 | "image": "/images/softwares/pluralsight-logo.png"
290 | },
291 | {
292 | "id": "adobe",
293 | "name": "Adobe Creative Cloud",
294 | "description": "Collection of 20+ desktop and mobile apps and services for photography, design, video, web, UX and more",
295 | "eligibility": "🎁 Available at no cost until May 31, 2020 for schools and colleges who currently have only lab access for students",
296 | "url": "https://theblog.adobe.com/adobe-enables-distance-learning-globally-schools-impacted-covid-19/",
297 | "image": "/images/softwares/adobe-logo.png"
298 | },
299 | {
300 | "id": "aws-ddi",
301 | "name": "AWS Diagnostic Development Initiative (DDI)",
302 | "description": " An initiative that provides support for innovation in rapid and accurate patient testing for 2019 novel coronavirus (COVID-19), and other diagnostic solutions to mitigate future outbreaks",
303 | "eligibility": "🎁 Offering technical support and providing AWS promotional credits to support the use of AWS services to advance diagnostic research for selected institutions and companies",
304 | "url": "https://aws.amazon.com/government-education/nonprofits/disaster-response/diagnostic-dev-initiative/",
305 | "image": "/images/softwares/aws-ddi-logo.png"
306 | },
307 | {
308 | "id": "manageengine",
309 | "name": "ManageEngine Secure Remote Access Toolkit",
310 | "description": " ManageEngine's Secure Remote Access Toolkit (Access Manager Plus and Remote Access Plus allow) seamless yet secure connections to desktops, servers, databases, and network devices from employees' homes",
311 | "eligibility": "🎁 Free license for any organization that is working remotely due to COVID-19",
312 | "url": "https://www.manageengine.com/secure-remote-access-software/",
313 | "image": "/images/softwares/manageengine-logo.png"
314 | },
315 | {
316 | "id": "hiver",
317 | "name": "Hiver",
318 | "description": "Fast email collaboration using shared inboxes such as support@ or invoices@ with ease right inside Gmail",
319 | "eligibility": "🎁 Free till June 30, 2020 for small businesses with less than 50 employees that are helping contain the spread of COVID-19 or providing relief to those impacted",
320 | "url": "https://hiverhq.com/covid-19",
321 | "image": "/images/softwares/hiver-logo.png"
322 | },
323 | {
324 | "id": "liveagent",
325 | "name": "LiveAgent",
326 | "description": "Live chat, call center, and ticketing software that helps organizations respond to customer queries quickly and answer all calls from the safety of their home",
327 | "eligibility": "🎁 Free for public institutions and hospitals",
328 | "url": "https://www.facebook.com/LiveAgent/posts/3117668481584679",
329 | "image": "/images/softwares/liveagent-logo.png"
330 | },
331 | {
332 | "id": "designmodo",
333 | "name": "Designmodo",
334 | "description": "Timesaving digital products and tools for designers and developers including website and email builders",
335 | "eligibility": "🎁 Free one month subscriptions for nonprofits, NGOs and businesses affected by COVID-19",
336 | "url": "https://designmodo.com/freemonth/",
337 | "image": "/images/softwares/designmodo-logo.png"
338 | },
339 | {
340 | "id": "alugha",
341 | "name": "Alugha",
342 | "description": "Universal toolkit to create, publish and host multilingual videos efficiently at scale",
343 | "eligibility": "🎁 Free unlimited small business account till 25th of May",
344 | "url": "https://alugha.com/plans/7477a4cb-4d22-470e-ba1c-646ac9225787",
345 | "image": "/images/softwares/alugha-logo.png"
346 | },
347 | {
348 | "id": "zapier",
349 | "name": "Zapier",
350 | "description": "Zapier lets you connect the apps you use to create workflows and complete routine tasks automatically",
351 | "eligibility": "🎁 Free Starter plans (1,500 tasks/mo) through the end of the year, for groups working on the front lines of tackling COVID-19 relief efforts",
352 | "url": "https://zapier.com/blog/zapier-covid-19/",
353 | "image": "/images/softwares/zapier-logo.png"
354 | },
355 | {
356 | "id": "datarobot",
357 | "name": "DataRobot",
358 | "description": "With DataRobot Automated Machine Learning, you can automate every step needed to build, deploy, and maintain powerful AI, leading to powerful predictions and with DataRobot Paxata, researchers can pull in data from cloud and local desktop files and prepare that data in any way to make it ready for machine learning",
359 | "eligibility": "🎁 Free access to DataRobot’s automated machine learning and Paxata data preparation solutions to those interested in using it to help with the COVID-19 virus response effort",
360 | "url": "https://www.datarobot.com/lp/covid-19-response-effort/",
361 | "image": "/images/softwares/datarobot-logo.png"
362 | },
363 | {
364 | "id": "nvidia-parabricks",
365 | "name": "NVIDIA Parabricks",
366 | "description": "Parabricks is a software suite for performing secondary analysis of next generation sequencing (NGS) DNA data",
367 | "eligibility": "🎁 Free 90-day license to Parabricks to any researcher in the worldwide effort to fight the novel coronavirus",
368 | "url": "https://www.developer.nvidia.com/nvidia-parabricks",
369 | "image": "/images/softwares/nvidia-parabricks-logo.png"
370 | }
371 | ]
372 | }
373 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "~/*": ["./*"],
6 | "@/*": ["./*"],
7 | "~~/*": ["./*"],
8 | "@@/*": ["./*"]
9 | }
10 | },
11 | "exclude": ["node_modules", ".nuxt", "dist"]
12 | }
13 |
--------------------------------------------------------------------------------
/layouts/README.md:
--------------------------------------------------------------------------------
1 | # LAYOUTS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your Application Layouts.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
8 |
--------------------------------------------------------------------------------
/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
21 |
--------------------------------------------------------------------------------
/locales/en.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | navigation: {
3 | program: 'Donation Program',
4 | about: 'About',
5 | logo: '<❤/>'
6 | },
7 | home: {
8 | hero: {
9 | headline: 'Transforming lives through access to powerful software',
10 | description:
11 | 'Software Donation is an initiative for making a positive impact with the power of software tools'
12 | },
13 | causes: {
14 | call_to_action_sentence: 'Tools to help you during COVID-19'
15 | }
16 | },
17 | program: {
18 | meta_description:
19 | 'Transform lives and create positive impact with the power of software',
20 | hero: {
21 | title: 'Transform lives and create positive impact with the power of software',
22 | description:
23 | 'Your software can create a change and empower those in need. Join Google, Zoom, Microsoft and many other companies who are donating their software.',
24 | button: 'Join Now'
25 | },
26 | sections: {
27 | first: {
28 | title:
29 | 'Donate remote working tools to empower companies to work remotely',
30 | description:
31 | 'Remote working tools can enable those in quarantined cities to continue their work. Join and donate premium access to your tool to those in need.',
32 | button: 'Start Donating'
33 | },
34 | second: {
35 | title:
36 | 'Donate online studying tools to enable students to continue their study',
37 | description:
38 | 'Distance learning tools can create a big impact by enabling distance learning for schools and universities. Join and donate your software access. ',
39 | button: 'Start Donating'
40 | }
41 | }
42 | },
43 | about: {
44 | title: 'Software Donation Initiative',
45 | meta_title: 'About',
46 | text: `Software Donation is a foundation that aims to create a platform where software companies can join and donate their tools to empower those in need. Our current main focus is COVID-19 and we accept companies in remote working, distance learning industries and some other relevant causes that are listed on our home page. Our mission is to create awareness around intangible donations like tools and help companies with their software donation strategy. We're currently accepting companies to become our founding partners and if you're interested in joining this journey, contact us below.`,
47 | button: 'Get in touch'
48 | },
49 | donation_banner: {
50 | title: 'Can your software make a change?',
51 | description:
52 | 'Join the movement and donate your software to support the cause',
53 | button: 'Donate now'
54 | },
55 | newsletter: {
56 | title: 'Join the newsletter',
57 | button: 'subscribe'
58 | },
59 | software: {
60 | get: 'Get it'
61 | },
62 | empty_list: {
63 | title:
64 | "We're currently working on curating the most effective tools for distance learning.",
65 | newsletter:
66 | "Would like to hear once it's available? Subscribe to our newsletter",
67 | donate: 'Do you have a distance learning tool and would like to donate?',
68 | button: 'Donate Now'
69 | },
70 | cause: {
71 | meta_description: 'Donated softwares to'
72 | },
73 | footer: {
74 | love: 'Made with <❤/>',
75 | newsletter: 'Be the first one to know about the causes and tools',
76 | follow: 'Follow-us'
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/locales/index.js:
--------------------------------------------------------------------------------
1 | const en = require('./en.js')
2 |
3 | module.exports = {
4 | en
5 | }
6 |
--------------------------------------------------------------------------------
/middleware/README.md:
--------------------------------------------------------------------------------
1 | # MIDDLEWARE
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your application middleware.
6 | Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
7 |
8 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
9 |
--------------------------------------------------------------------------------
/mixins/causesAndCategories.js:
--------------------------------------------------------------------------------
1 | import { DEFAULT_CAUSE } from '../config'
2 | import getCauses from '../services/getCauses'
3 | import getCauseName from '../services/getCauseName'
4 | import getCategoriesAndSoftwares from '../services/getCategoriesAndSoftwares'
5 |
6 | export default {
7 | asyncData({ params }) {
8 | const cause = params.cause ? params.cause : DEFAULT_CAUSE
9 | return {
10 | causes: getCauses(),
11 | categories: getCategoriesAndSoftwares(cause),
12 | selectedCauseName: getCauseName(cause)
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | publish = "dist"
3 | command = "npm run generate"
4 |
--------------------------------------------------------------------------------
/nuxt.config.js:
--------------------------------------------------------------------------------
1 | import messages from './locales'
2 | import getCauses from './services/getCauses'
3 | import { MAIN_TITLE, MAIN_DESCRIPTION, SOCIAL_DESCRIPTION } from './config'
4 |
5 | export default {
6 | mode: 'universal',
7 | /*
8 | ** Headers of the page
9 |
10 |
11 | */
12 | head: {
13 | title: `${MAIN_TITLE} – ${MAIN_DESCRIPTION}`,
14 | meta: [
15 | { charset: 'utf-8' },
16 | { name: 'viewport', content: 'width=device-width, initial-scale=1' },
17 | {
18 | hid: 'description',
19 | name: 'description',
20 | content: MAIN_DESCRIPTION
21 | },
22 |
23 | { name: 'og:title', content: MAIN_TITLE },
24 | { name: 'og:description', content: SOCIAL_DESCRIPTION },
25 | { name: 'og:type', content: 'website' },
26 | { name: 'og:url', content: 'https://softwaredonation.org/' },
27 | {
28 | name: 'og:image',
29 | content: 'https://softwaredonation.org/softwaredonation.png'
30 | },
31 |
32 | { name: 'twitter:card', content: 'summary' },
33 | {
34 | name: 'twitter:title',
35 | content: MAIN_TITLE
36 | },
37 | { name: 'twitter:description', content: SOCIAL_DESCRIPTION },
38 | {
39 | name: 'twitter:image',
40 | content: 'https://softwaredonation.org/softwaredonation.png'
41 | },
42 | { name: 'twitter:image:alt', content: MAIN_TITLE },
43 |
44 | { name: 'msapplication-TileColor', content: '#ffffff' },
45 | { name: 'theme-color', content: '#3183c8' }
46 | ],
47 | link: [
48 | { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
49 | {
50 | rel: 'icon',
51 | type: 'apple-touch-icon',
52 | sizes: '180x180',
53 | href: '/apple-touch-icon.png'
54 | },
55 | {
56 | rel: 'icon',
57 | type: 'image/png',
58 | sizes: '32x32',
59 | href: '/favicon-32x32.png'
60 | },
61 | {
62 | rel: 'icon',
63 | type: 'image/png',
64 | sizes: '16x16',
65 | href: '/favicon-16x16.png'
66 | },
67 | { rel: 'mask-icon', color: '#3183c8', href: '/safari-pinned-tab.svg' },
68 | {
69 | rel: 'stylesheet',
70 | href: '//cdn-images.mailchimp.com/embedcode/horizontal-slim-10_7.css',
71 | type: 'text/css'
72 | }
73 | ],
74 | script: [
75 | { src: 'https://identity.netlify.com/v1/netlify-identity-widget.js' }
76 | ]
77 | },
78 | /*
79 | ** Customize the progress-bar color
80 | */
81 | loading: { color: '#fff' },
82 | /*
83 | ** Global CSS
84 | */
85 | css: [{ src: '../assets/styles/main.scss', lang: 'scss' }],
86 |
87 | /*
88 | ** Plugins to load before mounting the App
89 | */
90 | plugins: [
91 | { src: '~/plugins/vue2-smooth-scroll', ssr: false },
92 | { src: '~/plugins/vue2-scrollspy', ssr: false }
93 | ],
94 | /*
95 | ** Nuxt.js dev-modules
96 | */
97 | buildModules: [
98 | // Doc: https://github.com/nuxt-community/eslint-module
99 | '@nuxtjs/eslint-module',
100 | // Doc: https://github.com/nuxt-community/stylelint-module
101 | '@nuxtjs/stylelint-module',
102 | '@nuxtjs/style-resources',
103 | [
104 | '@nuxtjs/google-analytics',
105 | {
106 | id: 'UA-159943888-1'
107 | }
108 | ]
109 | ],
110 | /*
111 | ** Nuxt.js modules
112 | */
113 | modules: [
114 | '@nuxtjs/pwa',
115 | // Doc: https://github.com/nuxt-community/dotenv-module
116 | '@nuxtjs/dotenv',
117 | 'nuxt-i18n'
118 | ],
119 | /*
120 | ** Build configuration
121 | */
122 | build: {
123 | /*
124 | ** You can extend webpack config here
125 | */
126 | extend(config, ctx) {}
127 | },
128 |
129 | styleResources: {
130 | scss: ['assets/styles/_variables.scss']
131 | },
132 |
133 | i18n: {
134 | locales: ['en'],
135 | defaultLocale: 'en',
136 | vueI18n: {
137 | fallbackLocale: 'en',
138 | messages
139 | }
140 | },
141 |
142 | generate: {
143 | routes: () => {
144 | return getCauses().map((item) => {
145 | return `/${item.id}`
146 | })
147 | }
148 | }
149 | }
150 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "software-donation",
3 | "version": "1.0.0",
4 | "description": "Empower those in need with the power of software",
5 | "author": "Sandoche Adittane & Farbod Saraf",
6 | "private": true,
7 | "scripts": {
8 | "dev": "nuxt",
9 | "build": "nuxt build",
10 | "start": "nuxt start",
11 | "generate": "nuxt generate",
12 | "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
13 | "lint:fix": "eslint --ext .js,.vue --ignore-path .gitignore . --fix",
14 | "get-logos": "node scripts/getLogos.js"
15 | },
16 | "lint-staged": {
17 | "*.{js,vue}": "npm run lint",
18 | "*.{css,vue}": "stylelint"
19 | },
20 | "husky": {
21 | "hooks": {
22 | "pre-commit": "lint-staged"
23 | }
24 | },
25 | "dependencies": {
26 | "@nuxtjs/dotenv": "^1.4.0",
27 | "@nuxtjs/pwa": "^3.0.0-0",
28 | "normalize.css": "^8.0.1",
29 | "nuxt": "^2.0.0",
30 | "nuxt-i18n": "^6.6.0",
31 | "vue2-scrollspy": "^2.3.1",
32 | "vue2-smooth-scroll": "^1.2.0"
33 | },
34 | "devDependencies": {
35 | "@nuxtjs/eslint-config": "^2.0.0",
36 | "@nuxtjs/eslint-module": "^1.0.0",
37 | "@nuxtjs/google-analytics": "^2.2.3",
38 | "@nuxtjs/style-resources": "^1.0.0",
39 | "@nuxtjs/stylelint-module": "^3.1.0",
40 | "babel-eslint": "^10.0.1",
41 | "download": "^7.1.0",
42 | "eslint": "^6.1.0",
43 | "eslint-config-prettier": "^6.10.0",
44 | "eslint-plugin-nuxt": ">=0.4.2",
45 | "eslint-plugin-prettier": "^3.1.2",
46 | "html-metadata": "^1.7.1",
47 | "husky": "^4.0.0",
48 | "lint-staged": "^10.0.0",
49 | "node-sass": "^4.13.1",
50 | "prettier": "^1.19.1",
51 | "sass-loader": "^8.0.2",
52 | "stylelint": "^10.1.0"
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/pages/README.md:
--------------------------------------------------------------------------------
1 | # PAGES
2 |
3 | This directory contains your Application Views and Routes.
4 | The framework reads all the `*.vue` files inside this directory and creates the router of your application.
5 |
6 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
7 |
--------------------------------------------------------------------------------
/pages/_cause/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
42 |
--------------------------------------------------------------------------------
/pages/about.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ $t('about.button') }}
12 |
13 |
14 |
15 |
16 |
41 |
42 |
59 |
--------------------------------------------------------------------------------
/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
25 |
--------------------------------------------------------------------------------
/pages/program.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
{{ $t('program.sections.first.title') }}
8 |
{{ $t('program.sections.first.description') }}
9 |
10 | {{ $t('program.sections.first.button') }}
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
{{ $t('program.sections.second.title') }}
21 |
{{ $t('program.sections.second.description') }}
22 |
23 | {{ $t('program.sections.second.button') }}
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
62 |
63 |
147 |
--------------------------------------------------------------------------------
/plugins/README.md:
--------------------------------------------------------------------------------
1 | # PLUGINS
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
6 |
7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
8 |
--------------------------------------------------------------------------------
/plugins/vue2-scrollspy.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Scrollspy from 'vue2-scrollspy'
3 |
4 | Vue.use(Scrollspy, { offset: 180 })
5 |
--------------------------------------------------------------------------------
/plugins/vue2-smooth-scroll.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import vueSmoothScroll from 'vue2-smooth-scroll'
3 |
4 | Vue.use(vueSmoothScroll)
5 |
--------------------------------------------------------------------------------
/scripts/getLogos.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs')
2 | const URL = require('url').URL
3 | const download = require('download')
4 | const scrape = require('html-metadata')
5 | const softwaresData = require('../data/softwares.json')
6 |
7 | const getLogos = async function(links) {
8 | console.log('[Get Logos] - Starting') // eslint-disable-line
9 | for (const link of links) {
10 | const path = './static' + link.image
11 | const url = link.url
12 | if (!isLogoAlreadyDownloaded(path)) {
13 | console.log('[Get Logo] - Downloading logo from ' + url) // eslint-disable-line
14 | try {
15 | const urlLogo = await getLogoUrl(url)
16 | download(urlLogo)
17 | .then((data) => {
18 | fs.writeFileSync(path, data)
19 | console.log('[Get Logo] - Logo saved in ' + path) // eslint-disable-line
20 | })
21 | .catch((e) => {
22 | console.log('[Get Logo] - Download error of ' + urlLogo) // eslint-disable-line
23 | })
24 | } catch (error) {
25 | console.log('[Get Logo] - Failed') // eslint-disable-line
26 | }
27 | }
28 | }
29 | }
30 |
31 | const isLogoAlreadyDownloaded = function(path) {
32 | if (fs.existsSync(path)) {
33 | return true
34 | } else {
35 | return false
36 | }
37 | }
38 |
39 | const getLogoUrl = async function(url) {
40 | const metadata = await scrape(url)
41 | const imageUrl = metadata.general.icons[0].href
42 | const host = new URL(url).origin
43 | return imageUrl.includes('http') ? imageUrl : host + '/' + imageUrl
44 | }
45 |
46 | getLogos(softwaresData.softwares)
47 |
--------------------------------------------------------------------------------
/services/getCategoriesAndSoftwares.js:
--------------------------------------------------------------------------------
1 | import softwaresData from '../data/softwares.json'
2 |
3 | const getCategoriesAndSoftwares = (causeId) => {
4 | const softwareList = softwaresData.softwares
5 | const cause = require(`../data/causes/${causeId}.json`)
6 | const categories = cause.categories
7 |
8 | const categoriesAndSoftwares = categories.map((category) => {
9 | const softwares = category.softwares.map((softwareItem) => {
10 | return softwareList.filter((software) => {
11 | return software.id === softwareItem.id
12 | })[0]
13 | })
14 |
15 | category.softwares = softwares
16 | return category
17 | })
18 |
19 | return categoriesAndSoftwares
20 | }
21 |
22 | export default getCategoriesAndSoftwares
23 |
--------------------------------------------------------------------------------
/services/getCauseName.js:
--------------------------------------------------------------------------------
1 | import causesData from '../data/causes.json'
2 |
3 | const getCauseName = (causeId) => {
4 | return causesData.causes.filter((item) => {
5 | return item.id === causeId
6 | })[0].name
7 | }
8 |
9 | export default getCauseName
10 |
--------------------------------------------------------------------------------
/services/getCauses.js:
--------------------------------------------------------------------------------
1 | import causesData from '../data/causes.json'
2 |
3 | const getCauses = () => {
4 | return causesData.causes
5 | }
6 |
7 | export default getCauses
8 |
--------------------------------------------------------------------------------
/static/README.md:
--------------------------------------------------------------------------------
1 | # STATIC
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your static files.
6 | Each file inside this directory is mapped to `/`.
7 | Thus you'd want to delete this README.md before deploying to production.
8 |
9 | Example: `/static/robots.txt` is mapped as `/robots.txt`.
10 |
11 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
12 |
--------------------------------------------------------------------------------
/static/admin/config.yml:
--------------------------------------------------------------------------------
1 | backend:
2 | name: git-gateway
3 | branch: dev
4 | squash_merges: true
5 |
6 | media_folder: "static/images/softwares"
7 | public_folder: "/images/softwares"
8 | site_url: https://softwaredonation.org/
9 |
10 | collections:
11 | - label: "Softwares"
12 | name: "softwares"
13 | extension: "json"
14 | files:
15 | - label: "Softwares"
16 | name: "softwares"
17 | file: "data/softwares.json"
18 | fields:
19 | - label: "Softwares List"
20 | name: "softwares"
21 | widget: "list"
22 | fields:
23 | - {label: Id, name: id, widget: string}
24 | - {label: Name, name: name, widget: string}
25 | - {label: Description, name: description, widget: text}
26 | - {label: Eligibility, name: eligibility, widget: text}
27 | - {label: Url, name: url, widget: string}
28 | - {label: Image, name: image, widget: image}
29 | - label: "Causes"
30 | name: "causes"
31 | extension: "json"
32 | files:
33 | - label: "Causes"
34 | name: "causes"
35 | file: "data/causes.json"
36 | fields:
37 | - label: "Causes List"
38 | name: "causes"
39 | widget: "list"
40 | fields:
41 | - {label: Id, name: id, widget: string}
42 | - {label: Name, name: name, widget: string}
43 | - label: "Softwares per cause"
44 | name: "softwares-cause"
45 | folder: "data/causes"
46 | create: true
47 | extension: "json"
48 | identifier_field: title
49 | fields:
50 | - {label: Cause Id, name: title, widget: string}
51 | - label: "Category list"
52 | name: "categories"
53 | widget: "list"
54 | fields:
55 | - {label: Category name, name: name, widget: string}
56 | - label: "Sofwares"
57 | name: "softwares"
58 | widget: "list"
59 | fields:
60 | - {label: Software Id, name: id, widget: string}
--------------------------------------------------------------------------------
/static/admin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Content Manager
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/static/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/android-chrome-192x192.png
--------------------------------------------------------------------------------
/static/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/android-chrome-512x512.png
--------------------------------------------------------------------------------
/static/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/apple-touch-icon.png
--------------------------------------------------------------------------------
/static/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/static/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/favicon-16x16.png
--------------------------------------------------------------------------------
/static/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/favicon-32x32.png
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/favicon.ico
--------------------------------------------------------------------------------
/static/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/icon.png
--------------------------------------------------------------------------------
/static/images/background.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/program/student1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/program/student1.jpg
--------------------------------------------------------------------------------
/static/images/program/student2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/program/student2.jpg
--------------------------------------------------------------------------------
/static/images/softwares/adobe-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/adobe-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/airtable-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/airtable-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/alugha-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/alugha-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/amazon-chime-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/amazon-chime-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/atlassian-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/atlassian-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/aws-ddi-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/aws-ddi-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/bluejeans-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/bluejeans-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/box-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/box-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/cisco-webex-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/cisco-webex-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/cloudflare-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/cloudflare-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/code-academy-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/code-academy-logo.jpg
--------------------------------------------------------------------------------
/static/images/softwares/codeacademy-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/codeacademy-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/datarobot-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/datarobot-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/designmodo-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/designmodo-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/discord-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/discord-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/dropbox-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/dropbox-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/headspace-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/headspace-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/heysummit-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/heysummit-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/hiver-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/hiver-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/icon.png
--------------------------------------------------------------------------------
/static/images/softwares/intercom-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/intercom-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/krisp-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/krisp-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/liveagent-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/liveagent-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/livestorm-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/livestorm-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/logmein-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/logmein-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/loom-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/loom-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/manageengine-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/manageengine-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/meet-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/meet-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/message-bird-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/message-bird-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/messagebird-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/messagebird-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/miro-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/miro-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/nvidia-parabricks-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/nvidia-parabricks-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/openphone-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/openphone-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/packback-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/packback-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/pluralsight-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/pluralsight-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/pr-co-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/pr-co-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/remotehq-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/remotehq-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/rise-science-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/rise-science-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/sanako-logo.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/sanako-logo.jpeg
--------------------------------------------------------------------------------
/static/images/softwares/sanako-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/sanako-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/screen-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/screen-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/slack-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/slack-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/tandem-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/tandem-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/teams-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/teams-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/typeform-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/typeform-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/udemy-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/udemy-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/webflow-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/webflow-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/zapier-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/zapier-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/zoho-remotely-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/zoho-remotely-logo.png
--------------------------------------------------------------------------------
/static/images/softwares/zoom-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/images/softwares/zoom-logo.png
--------------------------------------------------------------------------------
/static/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/mstile-150x150.png
--------------------------------------------------------------------------------
/static/safari-pinned-tab.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 | Created by potrace 1.11, written by Peter Selinger 2001-2013
9 |
10 |
12 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/static/softwaredonation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SoftwareDonation/software-donation/3f15b72cc1b892d7ca26dce4bcdaa85989ac36e0/static/softwaredonation.png
--------------------------------------------------------------------------------
/store/README.md:
--------------------------------------------------------------------------------
1 | # STORE
2 |
3 | **This directory is not required, you can delete it if you don't want to use it.**
4 |
5 | This directory contains your Vuex Store files.
6 | Vuex Store option is implemented in the Nuxt.js framework.
7 |
8 | Creating a file in this directory automatically activates the option in the framework.
9 |
10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
11 |
--------------------------------------------------------------------------------
/stylelint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // add your custom config here
3 | // https://stylelint.io/user-guide/configuration
4 | rules: {}
5 | }
6 |
--------------------------------------------------------------------------------