In Meowery, cats of the internet gather up to showcase their adorability within randomly selected GIFs worldwide! On top of the application's carefree design, settle down and let yourself free from the hassle of human society - just delve into the world of felines and partake in their meowery!
Installation through itch.io can be restrained because of the app's lack of code-signing and notarization. Certain workarounds have been provided on the itch.io page.
Regardless, you can also run the application on your own machine through this numbered process involving the creation of two separate directories:
- Fork this GitHub repository, create a directory for the application's contents, and clone your forked repository there.
- Install the necessary NPM dependencies, which are listed on
package.json, by runningnpm install. Anode_modulesfolder will appear inside the app directory. - Create an
.envfile on the root of the app directory, where you're soon going to provide a URL from your server that fetches GIFs from Tenor API.
- Fork the meowery-server repository, create another directory for the server, which is going to extract GIFs and deliver them to the application, and clone your forked repository on this directory.
- Run
npm installto gather the necessary dependencies. - Create an
.envfile, and type in a Tenor API key as assigned to a key calledTENOR_API_KEY(grab one here):
TENOR_API_KEY=your_tenor_api_key_goes_here
- Run
node index.jsto host the server locally or connect it to a hosting service. If hosting locally, the server will be listened onlocalhost:3001 - Copy this server URL, which sends GIF links as response.
- Move to the app directory. In the
.envfile there, paste the server URL as assigned to a key calledSERVER_URL
SERVER_URL=https://localhost:3001/
-
Run
npm run startin the same directory - the app will execute. -
(optional) Run
npm run dist-allto package the application and create distributables into anout/directory on the parent of your app directory.
Finally, this is the expected file structure:
app/
assets/
node_modules/
scripts/
styles/
templates/
.env (-> SERVER_URL here)
.gitignore
LICENSE
main.js
package-lock.json
package.json
out/
server/
node_modules/
.env (-> TENOR_API_KEY here)
.gitignore
index.js
LICENSE
package-lock.json
package.json
Promotional graphics for the application were created on Krita, and the GIFs are extracted off Tenor API.
On the backend, various NodeJS frameworks, including Electron, node-fetch, and dotenv, made this application feasible overall.
Moreover, Express, express-rate-limit, node-fetch, and Render were used to configure the server that delivers the GIFs to clients. See source code for the server setup.
Lastly, the application was packaged and made distributable through electron-builder.