- Notifications
You must be signed in to change notification settings - Fork8
⚡ A multipurpose meme marketplace and editor for creating, downloading and sharing memes with a ready to use API powered by Hasura GraphQL
License
Evavic44/rocketmeme
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A multipurpose meme marketplace and editor for creating and downloading memes. View meme collection, browse different meme categories, like share and save memes.
Click this link to viewrocketmeme

Follow these steps below to run rocketmeme locally in your machine. We are usingvite.js to bootstrap this application. You can read theirdocs for more info.
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 to your local machine.
git clone https://github.com/Evavic44/rocketmeme.git
Change directory into the client folder. This is where the frontend code lives.
cd client
npm install
Run the development server to view the app.
npm run dev
Now you can navigate tohttp://localhost:3000 to view the app.
npm run build
This is a preview of your dev server.
npm run serve
This is a preview of your build
/* 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.💛
asyncfunctionfetchGraphQL(operationsDoc,operationName,variables){constresult=awaitfetch("undefined",{method:"POST",body:JSON.stringify({query:operationsDoc,variables:variables,operationName:operationName})});returnawaitresult.json();}constoperationsDoc=` query MyQuery { meme_templates(order_by: {id: asc, image_link: asc, title: asc}) { id image_link title } }`;functionfetchMyQuery(){returnfetchGraphQL(operationsDoc,"MyQuery",{});}asyncfunctionstartFetchMyQuery(){const{ errors, data}=awaitfetchMyQuery();if(errors){// handle those errors like a proconsole.error(errors);}// do something great with this precious dataconsole.log(data);}startFetchMyQuery();
Styling is done usingstyled-components andcss3
Are you contributing to this project, please ensure all pull requests and contributions comply with ourguidelines. Before making any changes, ensure you have raised an issue here, unless it is a minimal change.
├── 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 😿
This project is protected byMIT License.
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.
Thanks goes to these wonderful people (emoji key):
Spiff Jekey-Green 🐛💻🤔👀 | Ugorji Miracle 💻🎨🚧 |
This project follows theall-contributors specification. Contributions of any kind welcome!
About
⚡ A multipurpose meme marketplace and editor for creating, downloading and sharing memes with a ready to use API powered by Hasura GraphQL