Meme generator for Notion
https://github.com/justjake/memegentino.git
A simple meme generator that can produce memes from a Notion database of meme templates. Uses the Notion OAuth API to connect to your Notion workspaces. Embed it in an iframe for easy memeing from Notion.
Get Memegentino for your Notion workspace!
You will need:
.env.local file has required environment variables:
NOTION_BASE_URL=https://api.notion.com
NOTION_CLIENT_ID=<uuid of your notion integration>
NOTION_CLIENT_SECRET=<secret of your notion integration>
DATABASE_URL=postgresql://<YOUR_DB_USERNAME>@localhost:5432/memegentino
Run your app in the development mode.
blitz dev
Open http://localhost:3000 with your browser to see the result.
For preview and production environments, you additionally should configure
NEXT_PUBLIC_BASE_URL to be the HTTP URL prefix for your app, this defaults to
http://localhost:3000. This is used for Notion OAuth redirects.
Note that if you're using Supabase, you should use the PGBouncer URL in preview and
production environments with ?pgbouncer=true.
...
NEXT_PUBLIC_BASE_URL=https://<my-app-name>.com
DATABASE_URL=postgres://<USER:PASS>@db.<SUPABASE>.supabase.co:6543/postgres?pgbouncer=true
Blitz comes with a powerful CLI that is designed to make development easy and fast. You can install it with npm i -g blitz
blitz [COMMAND]
dev Start a development server
build Create a production build
start Start a production server
export Export your Blitz app as a static application
prisma Run prisma commands
generate Generate new files for your Blitz project
console Run the Blitz console REPL
install Install a recipe
help Display help for blitz
test Run project tests
You can read more about it on the CLI Overview documentation.
Here is the starting structure of your app.
memegentino
βββ app/
βΒ Β βββ api/
βΒ Β βββ auth/
βΒ Β βΒ Β βββ mutations/
βΒ Β βΒ Β βΒ Β βββ logout.ts
βΒ Β βββ core/
βΒ Β βΒ Β βββ components/
βΒ Β βΒ Β βΒ Β βββ Form.tsx
βΒ Β βΒ Β βΒ Β βββ LabeledTextField.tsx
βΒ Β βΒ Β βββ hooks/
βΒ Β βΒ Β βΒ Β βββ useCurrentUser.ts
βΒ Β βΒ Β βββ layouts/
βΒ Β βΒ Β βββ Layout.tsx
βΒ Β βββ pages/
βΒ Β βΒ Β βββ 404.tsx
βΒ Β βΒ Β βββ \_app.tsx
βΒ Β βΒ Β βββ \_document.tsx
βΒ Β βΒ Β βββ index.test.tsx
βΒ Β βΒ Β βββ index.tsx
βΒ Β βββ users/
βΒ Β βββ queries/
βΒ Β βββ getCurrentUser.ts
βββ db/
βΒ Β βββ index.ts
βΒ Β βββ schema.prisma
βΒ Β βββ seeds.ts
βββ integrations/
βββ mailers/
βΒ Β βββ forgotPasswordMailer.ts
βββ public/
βΒ Β βββ favicon.ico\*
βΒ Β βββ logo.png
βββ test/
βΒ Β βββ setup.ts
βΒ Β βββ utils.tsx
βββ README.md
βββ babel.config.js
βββ blitz.config.js
βββ jest.config.js
βββ package.json
βββ tsconfig.json
βββ types.d.ts
βββ types.ts
βββ yarn.lock
These files are:
app/ folder is a container for most of your project. This is where youβll put any pages or API routes.db/ is where your database configuration goes. If youβre writing models or checking migrations, this is where to go.public/ is a folder where you will put any static assets. If you have images, files, or videos which you want to use in your app, this is where to put them.integrations/ is a folder to put all third-party integrations like with Stripe, Sentry, etc.test/ is a folder where you can put test utilities and integration tests.package.json contains information about your dependencies and devDependencies. If youβre using a tool like npm or yarn, you wonβt have to worry about this much.tsconfig.json is our recommended setup for TypeScript..babelrc.js, .env, etc. ("dotfiles") are configuration files for various bits of JavaScript tooling.blitz.config.js is for advanced custom configuration of Blitz. It extends next.config.js.jest.config.js contains config for Jest tests. You can customize it if needed.Blitz comes with a set of tools that corrects and formats your code, facilitating its future maintenance. You can modify their options and even uninstall them.
.eslintrc.js, and you can install (or even write) plugins to have it the way you like it. It already comes with the blitz config, but you can remove it safely. Learn More.pre-commit is triggered just before a commit is created. You can see the current hooks inside .husky/. If are having problems commiting and pushing, check out ther troubleshooting guide. Learn More..prettierrc file. The .prettierignore contains the files that should be ignored by Prettier; useful when you have large files or when you want to keep a custom formatting. Learn More.Read the Blitz.js Documentation to learn more.
The Blitz community is warm, safe, diverse, inclusive, and fun! Feel free to reach out to us in any of our communication channels.