⚑ A multipurpose meme marketplace and editor for creating, downloading and sharing memes with a ready to use API powered by Hasura GraphQL

Overview

Rocketmeme

A multipurpose meme marketplace and editor for creating and downloading memes. View meme collection, browse different meme categories, like share and save memes.

code style: prettier

Rocketmeme - Create, share & download memes or use our powerful API | Product Hunt

πŸ‘€ Preview

Click this link to view rocketmeme

Rocketmeme Preview

How to run locally ✨

Follow these steps below to run rocketmeme locally in your machine. We are using vite.js to bootstrap this application. You can read their docs for more info.

🧩 Prerequisites

In other to run our react app, make sure you have the following installed locally.

  • Node.js - vite requires node at least version 10.16.0

Clone this repository

Clone this repository to your local machine.

git clone https://github.com/Evavic44/rocketmeme.git

Cd client

Change directory into the client folder. This is where the frontend code lives.

cd client

Install NPM

npm install

Run

Run the development server to view the app.

npm run dev

Now you can navigate to http://localhost:3000 to view the app.

Adittional Commands ✨

Build

npm run build

This is a preview of your dev server.

Serve

npm run serve

This is a preview of your build

Rocketmeme API

/* API Endpoint */
https://rocketmeme-user.hasura.app/v1/graphql

With Hasura, we were able to create a serverless API using Hasura cloud. The API exists for two types of requests: The meme template and the uploaded memes. If you're interested, you can start exploring the API docs to get an idea of everything possible with the rocketmeme API. πŸ’›

API Docs

async function fetchGraphQL(operationsDoc, operationName, variables) {
  const result = await fetch(
    "undefined",
    {
      method: "POST",
      body: JSON.stringify({
        query: operationsDoc,
        variables: variables,
        operationName: operationName
      })
    }
  );

  return await result.json();
}

const operationsDoc = `
  query MyQuery {
    meme_templates(order_by: {id: asc, image_link: asc, title: asc}) {
      id
      image_link
      title
    }
  }
`;

function fetchMyQuery() {
  return fetchGraphQL(
    operationsDoc,
    "MyQuery",
    {}
  );
}

async function startFetchMyQuery() {
  const { errors, data } = await fetchMyQuery();

  if (errors) {
    // handle those errors like a pro
    console.error(errors);
  }

  // do something great with this precious data
  console.log(data);
}

startFetchMyQuery();

🎨 Styling

Styling is done using styled-components and css3

Style Guide A preview of the style guide.

🀝🏾 Contribution

Are you contributing to this project, please ensure all pull requests and contributions comply with our guidelines. Before making any changes, ensure you have raised an issue here, unless it is a minimal change.

πŸ“ Folder Structure

β”œβ”€β”€ client
β”‚   β”œβ”€β”€ public
β”‚   β”‚   β”œβ”€β”€ images
β”‚   β”‚   β”‚   β”œβ”€β”€ ../
β”‚   β”‚   β”œβ”€β”€ Robots.txt
β”‚   β”‚   β”œβ”€β”€ _redirects
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ Components
β”‚   β”‚   β”‚   β”œβ”€β”€ ../
β”‚   β”‚   β”œβ”€β”€ pages
β”‚   β”‚   β”‚   β”œβ”€β”€ ../
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ index.css
β”‚   β”‚   β”œβ”€β”€ main.jsx
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ controllers
β”‚   β”œβ”€β”€ middlewares
β”‚   β”œβ”€β”€ models
β”‚   β”œβ”€β”€ routes
β”‚   β”œβ”€β”€ services
β”‚   β”œβ”€β”€ utils
β”‚   β”œβ”€β”€ index.js
β”œβ”€β”€ .env.example
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .gitpod.yml8
β”œβ”€β”€ CODE_OF_CONDUCT.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json

This structure is completely flexible and bound to change. Updates to this tree is done manually till we find a suitable generator 😿

πŸ” License

This project is protected by MIT License.

πŸ’΅ Sponsor

Consider supporting us buy buying us a coffee or two. We appreciate every donation.

If you like this project, kindly star ⭐ and share this project. It means the world to us.

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):


Spiff Jekey-Green

πŸ› πŸ’» πŸ€” πŸ‘€

This project follows the all-contributors specification. Contributions of any kind welcome!

Comments
  • Wrong dropdown positioning

    Wrong dropdown positioning

    Dropdown for about link on navbar is wrongly positioned. This issue may be from the fact that it was developed and test only on a particular screen size and/or resolution.

    bug help wanted Priority: Low 
    opened by SpiffGreen 3
  • Refactor onMouseLeave function

    Refactor onMouseLeave function

    Issue

    In the onMouseLeave function, the function called in the if statement is the same as the one in the else.

    Recommended Fix

    Remove the conditional and put setDropdown(false).

    Source

    https://github.com/Evavic44/rocketmeme/blob/eafed75491a6e419f62c9477c653b5ed52a49e6e/client/src/Components/Navbar.jsx#L16

    bug good first issue 
    opened by Evavic44 2
  • πŸ”₯Setup Prettier

    πŸ”₯Setup Prettier

    Install prettier and setup linting rules.

    {
      "trailingComma": "all",
      "useTabs": true,
      "tabWidth": 2,
      "semi": true,
      "singleQuote": false
    }
    
    
    enhancement Status: Completed 
    opened by Evavic44 2
  • Install react lazy load component

    Install react lazy load component

    Install lazyload react component #13

    A few things to fix

    • [x] Add custom heights to the images so they load the blurred background from an empty canvas to avoid the markup from shifting too much.
    • [x] Add lazyload on the category WebP animations
    • [x] Add lazyload to meme template
    enhancement 
    opened by Evavic44 1
  • improve repository

    improve repository

    This PR removes the .vscode folder and adds it as well as the Jetbrains specific IDE folder .idea to the gitignore file. Also, MacOS specific .DS_Store files are excluded from commits via the .gitignore

    enhancement Status: Completed 
    opened by shushiro 0
  • ⬆️ Bump vite from 2.9.0 to 2.9.13 in /client

    ⬆️ Bump vite from 2.9.0 to 2.9.13 in /client

    Bumps vite from 2.9.0 to 2.9.13.

    Release notes

    Sourced from vite's releases.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite's changelog.

    2.9.13 (2022-06-27)

    2.9.12 (2022-06-10)

    • fix: outdated optimized dep removed from module graph (#8534) (c0d6c60), closes #8534

    2.9.11 (2022-06-10)

    2.9.10 (2022-06-06)

    2.9.9 (2022-05-11)

    2.9.8 (2022-05-04)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • ⬆️ Bump mongoose from 6.2.1 to 6.4.6

    ⬆️ Bump mongoose from 6.2.1 to 6.4.6

    Bumps mongoose from 6.2.1 to 6.4.6.

    Release notes

    Sourced from mongoose's releases.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Changelog

    Sourced from mongoose's changelog.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Commits
    • 5449ab9 chore: release 6.4.6
    • b8c99cf Merge pull request #11892 from Automattic/netlify-functions-example
    • 2751883 fix tests
    • eced2c7 Merge branch 'master' into netlify-functions-example
    • 92cb6fb Merge branch 'master' into vkarpov15/gh-12085
    • 422f9da test(schema): add coverage for calling plugin() with options
    • 2262a77 fix(document): avoid mutating original object passed to $set() when applying ...
    • 2e6b064 made requested changes
    • b70a0dc Merge pull request #12123 from LokeshKanumoori/patch-1
    • 086bd9f fix(query): apply lean transform option to top-level document
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • ⬆️ Bump minimist from 1.2.5 to 1.2.6

    ⬆️ Bump minimist from 1.2.5 to 1.2.6

    Bumps minimist from 1.2.5 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • πŸ”Ž Add TypeSense

    πŸ”Ž Add TypeSense

    Is your feature request related to a problem? Please describe.

    Improve search experience of users

    Describe the solution you'd like

    Add typesense to search for features like auto-complete, faster search, pagination, etc.

    Describe alternatives you've considered

    None yet

    enhancement help wanted Priority: High 
    opened by Evavic44 3
  • ⭐ [Feat] - (Add user authentication)

    ⭐ [Feat] - (Add user authentication)

    Is your feature request related to a problem? Please describe. Nope

    Describe the solution you'd like Add authentication so users can log in and save created memes and upload them.

    Additional context A small list of features needed to be implemented successfully before closing this issue.

    • [x] Create a sign-in page
    • [ ] Redirect to the success page after a successful sign-in
    • [ ] Login button changes to user profile on login
    • [ ] Simple user modal on profile click
    enhancement Priority: High 
    opened by Evavic44 2
  • ⚑ Reviews & Feedback

    ⚑ Reviews & Feedback

    opened by Evavic44 3
  • Social share function

    Social share function

    Add social share buttons so users can easily share created memes to different platforms

    Jetpack-Social-Buttons

    Link to Gist solution: social-share-function

    React library: React Share

    enhancement Priority: Medium 
    opened by Evavic44 2
  • Fix the meme editor

    Fix the meme editor

    • [x] Make meme editor responsive
    • [x] Add state recognition
      • If a text element is selected then formatting and styling tools for text should be activated using the text element's ID
      • If an image is selected then formatting and styling tools for image should be activated using the image element's ID
    • [ ] Create download dialog for download options when download button is clicked
    • [x] Make Add Image button use image from file system picked.
    • [x] Create Meme Template Section.
      • Each image when clicked should be used as the current image template
      • There should be only one meme template in the EditView Component so upon clicking a meme template the old one is replaced
    bug enhancement Status: In progress Priority: High 
    opened by SpiffGreen 4
Releases(v0.1.2)
  • v0.1.2(Sep 10, 2022)

    What's Changed

    • docs: add SpiffGreen as a contributor for bug, code, ideas, review by @allcontributors in https://github.com/Evavic44/rocketmeme/pull/25
    • πŸ€– Add chat widget by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/28
    • πŸͺ² fix navbar dropdown by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/29
    • Add modal for image upload to meme editor by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/31
    • πŸ”₯Setup Prettier by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/33
    • πŸ“£ Add reviews & feedback widget by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/38
    • :zap: Add default meme template to meme editor by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/39
    • [ImgBot] Optimize images by @imgbot in https://github.com/Evavic44/rocketmeme/pull/42
    • ⚑ Setup Hasura API by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/43
    • :lady_beetle: Fix build issue by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/44
    • :lady_beetle: Push new build to github by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/45
    • Revert ":lady_beetle: Push new build to github" by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/46
    • 🀞🏽Test deploy by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/47
    • :lady_beetle: Fix build 2 by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/48
    • :zap: Hide old API keys by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/49
    • 🐞 Fix search bug and background cover by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/50
    • :zap: Fix typo and update images by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/51
    • Update links and images by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/52
    • ⚑ Update Meme Tags by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/53
    • Refactor styles by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/54
    • :fire: Add not-allowed to upload button in create.jsx by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/55
    • ⬆️ Bump minimist from 1.2.5 to 1.2.6 by @dependabot in https://github.com/Evavic44/rocketmeme/pull/56
    • refractored onMouseEnter and onMouseLeave functions by @naiknareshh in https://github.com/Evavic44/rocketmeme/pull/59
    • :zap: Reposition producthunt badge by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/60
    • Separate dropdown styles by @amarealcoder in https://github.com/Evavic44/rocketmeme/pull/61
    • Separate footer styles by @amarealcoder in https://github.com/Evavic44/rocketmeme/pull/63
    • Separate navbar styles by @amarealcoder in https://github.com/Evavic44/rocketmeme/pull/64
    • Fix: External links by @amarealcoder in https://github.com/Evavic44/rocketmeme/pull/65
    • docs: add amarealcoder as a contributor for code, design, maintenance by @allcontributors in https://github.com/Evavic44/rocketmeme/pull/66
    • ⬆️ Bump mongoose from 6.2.1 to 6.4.6 by @dependabot in https://github.com/Evavic44/rocketmeme/pull/68
    • ⬆️ Bump vite from 2.9.0 to 2.9.13 in /client by @dependabot in https://github.com/Evavic44/rocketmeme/pull/69

    New Contributors

    • @allcontributors made their first contribution in https://github.com/Evavic44/rocketmeme/pull/25
    • @imgbot made their first contribution in https://github.com/Evavic44/rocketmeme/pull/42
    • @dependabot made their first contribution in https://github.com/Evavic44/rocketmeme/pull/56
    • @naiknareshh made their first contribution in https://github.com/Evavic44/rocketmeme/pull/59
    • @amarealcoder made their first contribution in https://github.com/Evavic44/rocketmeme/pull/61

    Full Changelog: https://github.com/Evavic44/rocketmeme/compare/v0.1.1...v0.1.2

    Source code(tar.gz)
    Source code(zip)
  • v-0.1.1(Mar 31, 2022)

    What's Changed

    • docs: add SpiffGreen as a contributor for bug, code, ideas, review by @allcontributors in https://github.com/Evavic44/rocketmeme/pull/25
    • πŸ€– Add chat widget by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/28
    • πŸͺ² fix navbar dropdown by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/29
    • Add modal for image upload to meme editor by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/31
    • πŸ”₯Setup Prettier by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/33
    • πŸ“£ Add reviews & feedback widget by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/38
    • :zap: Add default meme template to meme editor by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/39
    • [ImgBot] Optimize images by @imgbot in https://github.com/Evavic44/rocketmeme/pull/42
    • ⚑ Setup Hasura API by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/43
    • :lady_beetle: Fix build issue by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/44
    • :lady_beetle: Push new build to github by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/45
    • Revert ":lady_beetle: Push new build to github" by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/46
    • 🀞🏽Test deploy by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/47
    • :lady_beetle: Fix build 2 by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/48
    • :zap: Hide old API keys by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/49
    • 🐞 Fix search bug and background cover by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/50
    • :zap: Fix typo and update images by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/51
    • Update links and images by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/52
    • ⚑ Update Meme Tags by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/53

    New Contributors

    • @allcontributors made their first contribution in https://github.com/Evavic44/rocketmeme/pull/25
    • @imgbot made their first contribution in https://github.com/Evavic44/rocketmeme/pull/42

    Full Changelog: https://github.com/Evavic44/rocketmeme/compare/v0.1.1...v-0.1.1

    Source code(tar.gz)
    Source code(zip)
    file.zip(17.42 MB)
  • v0.1.1(Mar 9, 2022)

    What's Changed

    • πŸ”¨ Add redux setup by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/14
    • Make Navbar responsive by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/15
    • Install react lazy load component by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/17
    • Editor fix by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/18
    • Add template images by @Evavic44 in https://github.com/Evavic44/rocketmeme/pull/19
    • Editor fix by @SpiffGreen in https://github.com/Evavic44/rocketmeme/pull/24

    New Contributors

    • @SpiffGreen made their first contribution in https://github.com/Evavic44/rocketmeme/pull/14
    • @Evavic44 made their first contribution in https://github.com/Evavic44/rocketmeme/pull/15

    Full Changelog: https://github.com/Evavic44/rocketmeme/compare/v-0.1.0-beta...v0.1.1

    Source code(tar.gz)
    Source code(zip)
    rocketmeme-main.zip(18.75 MB)
  • v-0.1.0-beta(Mar 2, 2022)

    This release encompasses all the changes in the project. In no particular order, here are a few things contained in this version:

    Dependencies

    "dependencies": {
      "axios": "^0.26.0",
      "file-saver": "^2.0.5",
      "framer-motion": "^6.2.4",
      "html2canvas": "^1.4.1",
      "interactjs": "^1.10.11",
      "react": "^17.0.2",
      "react-dom": "^17.0.2",
      "react-google-login": "^5.2.2",
      "react-infinite-scroller": "^1.2.5",
      "react-router-dom": "^6.2.1",
      "styled-components": "^5.3.3",
      "uuid": "^8.3.2"
      },
    
    

    UI

    • Color change
    • Logo change
    • Meme editor fix (Bug)
    • Google Auth fix

    Primary-color: #ffcf4b Secondary-color: #003566 Tertiary-color: #0066ff Others: #FFE460

    Full Changelog: https://github.com/Evavic44/rocketmeme/commits/v-0.1.0-beta

    Source code(tar.gz)
    Source code(zip)
    v-1.0-beta.rar(5.52 MB)
Owner
Victor Eke
Frontend Developer | Open Source | Technical Writer | JavaScript
Victor Eke
A meme generator plugin for Figma and FigJam. Import memes from all over the internet with customizable captions and share it far and wide.

Is This A Meme? ???? ?? A meme generator plugin for Figma and FigJam. Import memes from all over the internet, add your captions, and share it far and

Aashrey Sharma 6 Aug 30, 2022
A Meme generator website where you can change and customize images to create great memes😎.

App Screenshot: Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory,

Harsh Jain 7 Dec 21, 2022
Fully dockered starter kit for Elm with Hasura

elm-hasura-dockered This repo contains a Elm-Hasura starter kit for rapid+typesafe web application development on open source foundations. Elm is grea

Cies Breijs 41 Dec 9, 2022
Grupprojekt fΓΆr kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet fΓΆr kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide FΓΆr information om hur utv

Svante Jonsson IT-HΓΆgskolan 3 May 18, 2022
Hemsida fΓΆr personer i Sverige som kan och vill erbjuda boende till mΓ€nniskor pΓ₯ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo fΓΆr kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the link πŸ”— or via mail βœ‰οΈ which remains active for 24hours πŸ•™.

eShare | File Sharing App A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the lin

Akhil Bhalerao 7 Nov 20, 2022
There can be more than Notion and Miro. Affine is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

AFFiNE.PRO The Next-Gen Knowledge Base to Replace Notion & Miro. Planning, Sorting and Creating all Together. Open-source, Privacy-First, and Free to

Toeverything 12.1k Jan 9, 2023
Wallpik is a stock images & wallpapers downloading web app built with vanilla JavaScript & Pexels API

Wallpik the stock photos & wallpaper web app (Preview) Wallpik Wallpik is a single page application built with HTML, CSS, Vanilla JavaScript & Pexels

Shivaraj Padala 4 Apr 19, 2022
Rest API untuk mengumpulkan jokes receh dan meme dari Indonesia

Candaan API ?? Candaan API merupakan Rest API yang dibuat untuk mendapatkan beberapa jokes jokes receh dari Indonesia, semua data data yang ada di Can

Ardhi Putra P 57 Jan 3, 2023
A javascript based whatsapp bot for downloading and sending media from youtube and facebook in different formats alongwith couple of other features.

Whatsmazan Available Features Downlaod youtube mp4 Video and send Downlaod youtube mp3 audio and send Search something from youtube Downlaod facebook

mazan labeeb 10 Oct 30, 2022
Desktop app for reading and downloading manga. With clean distraction-free design and no clutter

Tonbun Tonbun is a desktop app for reading and downloading manga. With clean distraction-free design and no clutter. Build with Rust, Tauri, Vue.js, a

null 23 Nov 30, 2022
Makes downloading Scratch projects easy. Simply enter two project IDs and click start.

Makes downloading Scratch projects easy. Simply enter two project IDs and click start. No need to pick the right format or include the assets, all of this is done automatically and in the browser.

null 6 May 27, 2022
Download all Moodle files with one click. This is a Chrome extension built to save time and effort from downloading files manually one by one!

Moodle Downloader Extension Moodle downloader extension for Chrome. The extension is tested with both the TUM moodle and the official moodle demo. Not

Zhongpin Wang 8 Nov 15, 2022
This terminal application aims to help new developers to quickly create ready to play applications, powered by Supabase.

Welcome to Create Supabase App ?? ⚑️ ?? Supabase is an open-source Firebase alternative. This terminal application aims to help new developers quickly

RaphaΓ«l Moreau 17 Nov 8, 2022
next-graphql-server is a library for building production-grade GraphQL servers using Next.js with API Routes

next-graphql-server next-graphql-server is an easy to use Next.js library for creating performant GraphQL endpoints on top of Next.js API Routes. Star

Jakub Neander 82 Nov 21, 2022
TypeScript CLI for creating HTML & CSS & TypeScript project with different bundlers, v2022.10.23 is ready on NPM

TSCI CLI TypeScript CLI for creating HTML & CSS & TypeScript project with different bundlers. Installation npm i -g tsci Usage Want to contribute? You

Samet ÇELİKBIÇAK 7 Dec 14, 2022
A Little explanation of the famous Javascript parseInt(0.0000005); error meme.

Explaining the meme Internet is made of millions of memes flowing everyday, so, devs create a ton of new images showing how their code doesn't work, t

akrck02 2 Feb 3, 2022