- 📝 Table of Contents
- 🧐 About
- ⭐️ Features
- 📷 Screenshots
- 🏁 Getting Started
- 🎈 Usage
- 🚀 Deployment
- ⛏️ Built Using
- ✍️ Authors
Tempnote is a free open source online service that allows users to send secure and confidential information over the internet. The information automatically self destructs after a defined expiry time. On many platforms provided by big tech, your data can be stored on their servers indefinitely with your data being shared with third party providers. We make it a priority to keep your data safe and secure from prying eyes.
Live demo available at https://tempnote.vercel.app.
For any enquiries, email tempnote@andrewvo.co.
If you would like to donate to the project, you can buy me a coffee.
A fully featured rich text editor with text formatting, bulleted lists, numbered lists, alignment options, links, inline images and emojis. 😎
Notes are destroyed automatically after a selected expiry time. Options available are 5 minutes, 15 minutes, 30 minutes, 1 hour, 6 hours, 12 hours, 1 day, 3 days, 5 days and 7 days.
Automatically destroy notes after they reach a defined amount of views.
Generate a manual destruction link to delete a note before its expiry time.
Password protect a note to add an additional layer of security and privacy.
All content is securely encrypted on the server using AES-256 encryption and decrypted upon request.
Responsive user interface to support all devices sizes from desktops, tablets to mobile devices.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Node.js installed on your local machine.
- A Firebase account for the database and cloud functions.
- A vercel account to host the Next.js app.
- reCAPTCHA v3 credentials to distinguish humans and bots.
- Navigate into the
/nextjs
folder and edit the.env.sample
file with the folowing parameters (Any entry with the NEXT_PUBLIC prefix will be exposed to the front end).
NEXT_PUBLIC_BASE_URL=
NEXT_PUBLIC_CAPTCHA_SITE_KEY=
CAPTCHA_SERVER_API_KEY=
ENCRYPTION_KEY=
FIREBASE_DATABASE_URL=
FIREBASE_PROJECT_ID=
FIREBASE_PRIVATE_KEY=
FIREBASE_CLIENT_EMAIL=
FIREBASE_STORAGE_BUCKET=
- Rename
.env.sample
to.env
. - Run
yarn
to install dependencies. - Navigate to
/firebase/functions
folder and edit the.env.sample
with the following parameters:
SEND_IN_BLUE_API_KEY=
DEFAULT_EMAIL_ADDRESS=
FIREBASE_FUNCTIONS_MEMORY=
FIREBASE_FUNCTIONS_TIMEOUT=
- Rename
.env.sample
to.env
. - Run
yarn
to install dependencies.
- Run
yarn run dev
inside the/nextjs
directory. - Navigate to
http://localhost:3000
in your web browser.
- Navigate to the
/nextjs
directory. - Run
vercel
in the command line to connect your Vercel account. - Run
vercel --prod
to deploy to production. - Navigate to the
/firebase
directory. - Run
firebase init
in the command line to connect your Firebase project. - Run
firebase deploy
to deploy to production.
- Next.js - Frontend & API
- Node.js - Server Environment
- TypeScript - Language
- Firebase - Cloud Functions
- Chakra UI - UI Library
- @andrewvo89 - Founder and creator