A link shortener that allows you to set custom URLs, expiration dates and manage them from your account.
- refactor navbar
 - add user/login/logout to context
 - use context instead of query
 - redesign many of the pages
 - update this README
 
- 
shorten any link
 - 
create an account to manage your links
 - 
set expiry dates for your links
 - 
delete your links whenever you want
 - 
easily share your links with a QR code
 
- 
more functionality to accounts including account settings (change password etc.)
 - 
analytics for your links, such as # of clicks, times, location etc. to better understand who's using your links
 - 
mobile-friendly design
 
- 
forms clear when changing colour mode
 - 
invalid emails may be accepted when creating accounts (will be fixed by requiring account to be validated)
 - 
some links are not accepted as valid
 
You'll need a .env with the following variables MONGODB_URI, SESSION_SECRET (any string for redis to use), REACT_APP_DOMAIN (the domain for your link shortener e.g. yals.zreo.me), REACT_APP_GOOGLE_CLIENT_ID (Google API key for Google authentication), REDISTOGO_URL (your redis to go link)
I tried to plan and keep track of the project using Trello. But I mostly just used Notepad documents.
- 
Frontend: React, Chakra UI
 - 
Backend: Node.js/Express, Apollo GraphQL (first time using it, I much prefer it to a RESTful API), Mongoose
 - 
Data: MongoDB, Redis (not sure if i'm using it right, but it's working for storing sessions)
 - 
Forms: react-hook-form (prefer this over formik)
 - 
Hosting: Heroku (tried Vercel and gave up on DigitalOcean)