https://github.com/shamsheedali/linkify
Linkify is a full-stack URL shortener built with the MERN stack and NestJS. It allows users to convert long URLs into short, shareable links, manage their URLs securely with JWT-based authentication, and track basic click analytics.
https://github.com/shamsheedali/linkify
jwt mongodb mongoose nestjs nodejs react tailwindcss typescript zustand
Last synced: 3 months ago
JSON representation
Linkify is a full-stack URL shortener built with the MERN stack and NestJS. It allows users to convert long URLs into short, shareable links, manage their URLs securely with JWT-based authentication, and track basic click analytics.
- Host: GitHub
- URL: https://github.com/shamsheedali/linkify
- Owner: shamsheedali
- Created: 2025-05-29T04:50:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T15:24:11.000Z (about 1 year ago)
- Last Synced: 2025-08-10T03:38:52.924Z (11 months ago)
- Topics: jwt, mongodb, mongoose, nestjs, nodejs, react, tailwindcss, typescript, zustand
- Language: TypeScript
- Homepage: https://linkify-eta-two.vercel.app
- Size: 519 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Linkify
Linkify is a modern URL shortener that enables users to create and manage short links with ease.
---
## 🛠 Tech Stack
- **Client:** React, Zustand, TailwindCSS, TypeScript, Vite
- **Server:** Node.js, NestJS, MongoDB, Mongoose, JWT
- **Dev Tools:** Railway (hosting), Postman/Thunder Client, ESLint, Prettier
---
## 🚀 Installation
Follow these steps to set up the project locally:
### 1. Clone the Repository
```bash
git clone https://github.com/shamsheedali/linkify.git
cd linkify
```
### 2. Install Dependencies
**Server Dependencies:**
```bash
cd server
npm install
```
**Client Dependencies:**
```bash
cd ../client
npm install
```
### 3. Configure Environment Variables
Create `.env` files in both the `server` and `client` directories with the following example content:
server/.env
```env
PORT=3000
MONGO_URI=your_mongodb_url
JWT_SECRET=your_jwt_secret
REFRESH_JWT_SECRET=your_refresh_secret
FRONTEND_URL=http://localhost:5173
```
client/.env
```env
VITE_API_URL=http://localhost:3000/api
VITE_URL_PREFIX=http://localhost:3000/api/url/
```
---
### 4. Start the Application
**Start the Server:**
```bash
cd server
npm run start:dev
```
**Start the Client (in a new terminal window):**
```bash
cd ../client
npm run dev
```
---
## 📂 Project Structure
| Folder | Description |
|----------|-----------------------|
| server | Backend API server |
| client | Frontend application |
---
## 📝 Notes
- Ensure you have **Node.js** and **npm** installed.
- Run the server and client in separate terminal windows during development.
- For additional configuration, refer to the `README.md` files inside the `server` and `client` directories (if available).
---
## 🤝 Connect
- 📧 Email: [shamsheedali0786@gmail.com](mailto:shamsheedali0786@gmail.com)
- 🐙 GitHub: [shamsheedali](https://github.com/shamsheedali)
---