/greeting-card

A self-hosted, customisable greeting card that's publicly signable ๐ŸŽˆ.

Primary LanguageTypeScriptMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License


Logo

Greeting Card

A free, customizable, and self-hostable greeting card template built using Next.js and Framer Motion. It allows multiple people to sign and contribute to a digital card that you can customise for whatever occasion.
View Demo ยท Report Bug ยท Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

View the card at the main route (/).

Sign the card at /sign (up to 16 messages).

(back to top)

Built With

  • Next
  • React

(back to top)

Self-hosting on Vercel

  1. Clone the repo

    git clone https://github.com/jmholzer/greeting-card.git
  2. Customise your card: add a front.jpg to be the fro

    • Add a front.jpg with aspect ratio 1:1.414 (landscape). Canva is a good place to find design templates.
    • Modify app/favicon.ico.
    • Modify the title / description of the page in app/layout.tsx.
  3. Install NPM packages

    npm install
  4. Install the Vercel CLI and login

    npm i -g vercel
    vercel login
  5. Deploy a new Vercel project for your card

    vercel deploy
  6. Create a Postgres database on Vercel and connect it with your new project

  7. Add the HOST environment variable to the Vercel project (this can be any URL that points to your deployment)

    HOST=https://greeting-card-demo.vercel.app
  8. Pull the DB environment variables to your local

    vercel env pull 
  9. Create a Prisma client

    npx prisma generate
  10. Create the DB tables

    npx prisma db push
  11. Redeploy your project to load the new env vars

vercel --prod
  1. Navigate to your project's URL and check that you can view (/) and sign (/sign) the card.

From here you can put your own domain infront of your deployment and share the link.

(back to top)

Contributing

See the open issues for a full list of proposed features (and known issues).

Feel free to open an issue or contribute a PR:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Project Link: https://github.com/jmholzer/greeting-card

(back to top)