https://github.com/codesandtags/oncesaid
A web app that pulls my favorite quotes and allow me to share them with the world, grouped by categories and other metadata.
https://github.com/codesandtags/oncesaid
Last synced: 8 months ago
JSON representation
A web app that pulls my favorite quotes and allow me to share them with the world, grouped by categories and other metadata.
- Host: GitHub
- URL: https://github.com/codesandtags/oncesaid
- Owner: codesandtags
- Created: 2023-11-10T13:47:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-01T04:45:11.000Z (over 2 years ago)
- Last Synced: 2025-09-07T06:36:35.622Z (9 months ago)
- Language: TypeScript
- Homepage: https://favorite-quotes-nine.vercel.app
- Size: 778 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Favorite quotes
## Why did I create this?
I was tired of scattering my favorite quotes across various places, such as Notion, Evernote, books, Kindle, and my notebooks, and after a while I lost them. So, I decided not to procrastinate any longer and created my own centralized space to store my favorite and insightful quotes.
In long term I will have all those quotes that I loved, and remember or reference them somewhere.
## What can I do with these quotes?
I decided to put in this first version the following capabilities:
- Search quotes
- Group quotes by categories
- Filter quotes
- Show timeline when they were added
- Share quotes as image on social network
## How is this project made of (TechStack)?
I love to learn new things, and expan my conform zone, so I decide to try something new. That's why this project is using the following technologies to work, and some reasons:
### Web app
- [Nextjs v14](https://nextjs.org/blog/next-14) (I was thinking to use Bun, but I wanted to learn about the latest changes in Nextjs)
- [DeisyUI](https://daisyui.com/blog/daisyui-vs-tailwindui/) which is a plugin on top of TailwindCSS to support the design system
- [Unsplash](https://unsplash.com/) to show beautiful backgrounds
- Render from server to have a proper SEO when I share the quotes
- Nextjs to support SEO for every quote
### Database
- Firebase to store the quotes, because I needed a simple website and a few storage to do this.
### Analytics
- Google Analytics show track how the website is visited
## Environment variables
This project uses environment variables to work. On your local please create the file `.env.local` with the following information.
```sh
API_URL=http://localhost:3000/api
NEXT_PUBLIC_SITE_URL=http://localhost:3000
FIREBASE_API_KEY='VALUE'
FIREBASE_MEASUREMENT_ID='VALUE'
FIREBASE_AUTH_DOMAIN='VALUE'
FIREBASE_DATABASE_URL='VALUE'
FIREBASE_PROJECT_ID='VALUE'
FIREBASE_STORAGE_BUCKET='VALUE'
FIREBASE_MESSAGING_SENDER_ID='VALUE'
FIREBASE_APP_ID='VALUE'
USE_LOCAL_DATA=true
```
## References
- [Implementing authentication firebase](https://blog.logrocket.com/implementing-authentication-in-next-js-with-firebase/)
- [Codelab Firebase + Nextjs](https://firebase.google.com/codelabs/firebase-nextjs#7)