This is a full stack LinkTree clone using MERN stack.
- Frontend: React JS
- Backend: Node JS, Redis
- Subscriber Mail Sender Service: Node JS
- Database: mongoDB
LinkHub is a web application which provides you a webpage to share multiple links to your audiences.
-
Authentication:
- Sign Up
- Log In
- Email Verification
-
Dashboard:
- LinkHub profile picture edit
- LinkHub title edit
- LinkHub description edit
- New link add
- Existing link edit
- Existing link delete
-
Insights:
- See total visits count to your linkhub
- See total subscribers count to your linkhub
-
Account
- See account details such as account creation date, email, username
- Log out
- Delete account
-
Reset Password
- Reset password when user forgets password
-
Share LinkHub
- Direct share through multiple platforms like Reddit, Facebook, Linkedin, X(formerly Twitter), Whatsapp and Email
-
Subscribe LinkHub
- Subscribe to anyone's linkhub so that when the owner of the linkhub adds links the subscribers get updates through email
- Frontend: React JS, Chakra UI, HTML, CSS
- Backend: Node JS, Express JS, Redis, JWT, Nodemailer, ejs, HTML, CSS
- Subscriber Mail Sender Service: Node JS, ejs, Nodemailer, ejs, HTML, CSS
- Database: mongoDB
- Frontend: Vercel.com
- Backend: Render.com
- Redis: Render.com
- Subscriber Mail Sender Service: Render.com
- Database: MongoDB Cloud
- Node JS
- Redis
- MongoDB or MongoDB Cloud
-
Fork this repository
-
Clone this repository
-
Ensure that you are in the root directory of the project
-
Go to backend directory by running ➡️
cd '.\LinkHub Backend\'
-
Now install dependencies by running ➡️
npm install
-
Now return to root directory by running ➡️
cd ../
-
Go to frontend directory by running ➡️
cd '.\LinkHub Frontend\'
-
Now install dependencies by running ➡️
npm install
-
Now return to root directory by running ➡️
cd ../
-
Go to subscriber mail sender directory by running ➡️
cd '.\LinkHub Mail Sender\'
-
Now install dependencies by running ➡️
npm install
-
Now return to root directory by running ➡️
cd ../
-
Now generate app password to access email sending. Take help from this Helpful Video
-
Now create file in the root of 'LinkHub Backend' folder and name it '.env'
-
Now open that '.env' file in code editor and then write this:
MONGO_URI = <Your Mongodb Url> JWT_SECRET = <Your JWT Secret> EMAIL = <Your Email> PASSWORD = <Your Email's App Password> JWT_DATA_MAKER = <Your JWT Data Maker(actually any number of your choice)> REDIS_PORT = 6379 SUBSCRIBER_MAIL_SERVER_URL = <Your Mail Server's Url>
-
Now create file in the root of 'LinkHub Mail Sender' folder and name it '.env'
-
Now open that '.env' file in code editor and then write this:
MONGO_URI = <Your Mongodb Url> EMAIL = <Your Email> PASSWORD = <Your Email's App Password>
-
Now start Redis server by running this command ➡️
sudo service redis-server start
-
Now open the 2 directories(LinkHub Backend and LinkHub Mail Sender) in 2 different terminals by using the cd commands(as instructed previously) and run this command in both the terminals ➡️
npm run dev
-
Now open the LinkHub Frontend directory in another terminal by using the cd commands and run this command ➡️
npm start
-
Now open http://localhost:3000 and you are ready to use.