Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
a51d74e
Merge pull request #1 from DpkRn/f/modify
dpkrn Dec 15, 2025
73cf3a0
Added about and some enhance is there
Dec 15, 2025
a5d93b9
Merge branch 'f/about' into develop
Dec 15, 2025
958421d
Updated all instances of the old link domain to the new domain `click…
Dec 16, 2025
583d62c
Enhanced HomePage with new interactive features and improved typograp…
Dec 17, 2025
f91444e
Refactored AuthPage to enhance user experience with improved animatio…
Dec 17, 2025
b26e304
changed theme
Dec 17, 2025
5ec146d
Refined UI components with improved color schemes and transparency fo…
Dec 17, 2025
7014249
added some themes on homepage
Dec 17, 2025
d8d63a8
added some more code
Dec 18, 2025
2087128
added animation
Dec 18, 2025
201f151
home page completed
Dec 18, 2025
88be9ab
fgssd
Dec 18, 2025
a44a20f
Added AnimatedLinkCard component to Documentation page, featuring 3D …
Dec 18, 2025
881ff48
converted in 6 card
Dec 18, 2025
ec32b6f
remove nav if authenticated is there
Dec 18, 2025
de93999
Refactor and clean up code by removing commented-out lines and unused…
Dec 18, 2025
deb418d
Refactor email notification system by renaming sendNotificationEmail …
Dec 18, 2025
cc32309
removed flicring
Dec 18, 2025
bcf2b28
Add profile image and enhance AboutDeveloper component with dark mode…
Dec 18, 2025
87a4a2d
Add logo asset and update components to use the new logo image. Enhan…
Dec 18, 2025
2e3c45a
Revamp Documentation component with Interactive Matrix Card featuring…
Dec 18, 2025
d1beff2
Enhance Documentation component with MagneticCard featuring dynamic a…
Dec 18, 2025
ed33c11
Refactor email sending logic to utilize environment variables for ema…
Dec 18, 2025
3d7282c
Refactor deployment process in make.sh to use Docker Compose for buil…
Dec 18, 2025
1c976d3
Refactor frontend deployment by updating Dockerfile to use multi-stag…
Dec 19, 2025
6b88863
Update AuthController to set display name from username and modify on…
Dec 19, 2025
5432c96
Add comprehensive backend integration documentation, including endpoi…
Dec 19, 2025
1374218
added for now
Dec 19, 2025
cb4cabf
Implement password verification endpoint and enhance link handling lo…
Dec 20, 2025
a77e740
Enhance password verification process by adding support for form subm…
Dec 20, 2025
9603f72
Refactor password modal in Linkcard component by removing unnecessary…
Dec 20, 2025
b2bf56b
Enhance password verification logic by implementing bcrypt for secure…
Dec 20, 2025
f2f248b
Add comprehensive features for link management and privacy controls
Dec 20, 2025
4ca88ea
Update DashBoard component styles for improved light mode support by …
Dec 20, 2025
e34d26e
increased dark intensity
Dec 20, 2025
44a1a5f
removed merge conflict
Dec 20, 2025
4fbd162
Merge branch 'f/profile-v1-dark-intensity-more' into f/profile-v2
Dec 20, 2025
86c5a96
Enhance Linkcard component with improved animation styles
Dec 20, 2025
b00aa79
Update profile handling to include unlisted links and optimize profil…
Dec 20, 2025
30e87b9
Update ProfilePreview component styles for improved visual consistency
Dec 20, 2025
60d8d43
Add edge animation styles to AboutDeveloper and ProfilePreview compon…
Dec 20, 2025
02241d9
Enhance AuthPage with back navigation button and update AboutDevelope…
Dec 20, 2025
fc3e6ba
Update ProfilePreview and App components for enhanced routing and ani…
Dec 20, 2025
ab8cdbe
Add analytics route and integrate analytics page into the frontend
Dec 20, 2025
513dc04
Update API configuration to enable dynamic base URL from environment …
Dec 20, 2025
4cfd8db
Merge branch 'f/analytics-page' into f/profile-analytics
Dec 20, 2025
952ba96
Remove unnecessary server configuration options from Vite config
Dec 20, 2025
61474e6
Add initial project assets and index file for LinkBridger
Dec 20, 2025
803f63c
Remove build step from Dockerfile and adjust copy command for static …
Dec 20, 2025
68fc2d2
Refactor frontend structure and enhance documentation
Dec 20, 2025
b2cb1d9
df
Dec 20, 2025
47221a2
Enhance documentation and navigation features
Dec 20, 2025
a9cdbe9
Add ComparisonTable component and update HomePage
Dec 21, 2025
6663026
Enhance navigation and route handling for authenticated and public users
Dec 21, 2025
08e2fb9
Refine navigation logic for public routes in App component
Dec 21, 2025
fc78456
Update padding in documentation components for improved layout
Dec 21, 2025
7bff7b8
Update asset files and improve styling in index.html
Dec 21, 2025
69ff850
Refactor Nav component usage and notification logic
Dec 21, 2025
db7deb7
Implement user settings for customizable linktree templates
Dec 21, 2025
ac2ebf1
Enhance settings update functionality and UI responsiveness
Dec 21, 2025
ceed9b0
Implement template selection and update functionality in settings
Dec 21, 2025
6f51a44
Added project controller and model
Dec 21, 2025
0daa92e
Add TemplatePreview component to dashboard and integrate template sel…
Dec 21, 2025
0cf68e3
Enhance TemplatePreview component with device selection functionality
Dec 22, 2025
09bdb43
Integrate Template component into DashBoard and refactor LinkPage for…
Dec 22, 2025
a305e24
Refactor DashBoard and LinkPage components for improved conditional r…
Dec 22, 2025
0049fbf
Refactor DashBoard and LinkPage components for improved rendering logic
Dec 22, 2025
cbbd8b2
Add TemplatePreview route and enhance LinkPage with preview functiona…
Dec 22, 2025
cadc2e3
Enhance LinkPage and Template components with preview refresh functio…
Dec 22, 2025
349a905
Implement email notification settings for link clicks and profile views
Dec 22, 2025
1ad97de
Implement profile visit email notifications and enhance user settings
Dec 22, 2025
e3d639f
Remove center alignment from linktree template styles for improved la…
Dec 22, 2025
bb9d7ad
Update linktree templates to implement dynamic circular favicons
Dec 22, 2025
6a109ff
Added build
Dec 22, 2025
6616c27
Refactor username handling and enhance Postman files
Dec 23, 2025
2707fbc
Implement subdomain routing and enhance CORS configuration
Dec 23, 2025
685fd5f
Enhance SSL certificate generation script and add setup documentation
Dec 23, 2025
fb132e8
Implement dynamic user link generation and update link templates
Dec 23, 2025
024b691
Update documentation and link formats for user profiles
Dec 23, 2025
d0d1b53
Update frontend assets and improve styling
Dec 23, 2025
c90167e
Add SSL troubleshooting script and update certificate generation process
Dec 23, 2025
37edf1f
Add SSL troubleshooting script and enhance certificate generation pro…
Dec 23, 2025
a159635
Update generate-cert.sh to use 'docker compose' command for Nginx res…
Dec 23, 2025
144296e
Enhance SSL certificate handling and add verification script
Dec 23, 2025
534330b
Refactor SSL certificate handling in generate-cert.sh and add quick S…
Dec 23, 2025
2018f26
Refactor environment variable handling and enhance URL generation
Dec 23, 2025
c198f93
Enhance user model and update frontend files for improved functionality
Dec 25, 2025
09e5545
Implement Google OAuth callback handling and update user model requir…
Dec 25, 2025
a6edbeb
Enhance debugging and responsiveness in frontend and backend components
Dec 25, 2025
f540e12
Update authentication flow to handle user types and improve error han…
Dec 25, 2025
4b1899b
added server url and client url
Dec 25, 2025
54187a4
Implement subdomain routing and enhance URL generation for user links
Dec 25, 2025
429c4e7
Fix string comparison in serverUrl function to use quotes for 'dev' tier
Dec 25, 2025
705c92a
Update client URL in utils and adjust redirect in AuthController to u…
Dec 25, 2025
8005fa3
Update AuthController to use clientUrl instead of serverUrl for impro…
Dec 25, 2025
da3c56e
Refactor AuthPageV1 to initialize username from URL params and update…
Dec 25, 2025
fffb789
Add Google signup logic and username availability check in HeroSectio…
Dec 25, 2025
013d757
Update redirect URIs to use production URL and adjust API base URL co…
Dec 25, 2025
70c3b6f
Enhance SEO and Open Graph meta tags in index.html; update DOCTYPE an…
Dec 25, 2025
e8c752b
Refactor handleSignUp and handleSignIn to improve username handling a…
Dec 25, 2025
f1287c7
Update script source in index.html to new build version
Dec 25, 2025
fa7065c
Fix redirect URL in handleAuthCallback and add explicit location for …
Dec 25, 2025
408a7c3
Fix formatting in nginx configuration for /app redirect
Dec 25, 2025
e5e1863
Remove console log from checkAvailability error handling
Dec 25, 2025
0c64623
Refactor code structure for improved readability and maintainability
Dec 25, 2025
7508ffc
Add random code generation feature in CreateBridge component
Dec 26, 2025
2e90cae
Merge branch 'develop' into f/g-auth-domain
Dec 26, 2025
ad518b8
Refactor authentication components to streamline user experience
Dec 26, 2025
a55a557
- Updated messaging to clarify username requirements for
Dec 26, 2025
9851daa
Update documentation and add URL configuration utility
Dec 26, 2025
57ebd67
Refactor authentication components to utilize dynamic server URL
Dec 26, 2025
2dd04b3
added build of auth features
Dec 26, 2025
1982c65
Remove version specification from docker-compose.yml
Dec 26, 2025
4f126c3
Add comprehensive documentation for LinkBridger platform
Dec 26, 2025
1cd5ea5
Enhance messaging across HomePage and documentation to emphasize FREE…
Dec 26, 2025
3e83634
Refactor HomePage components to enhance performance and visual consis…
Dec 26, 2025
98c402b
Update frontend assets and scripts for improved styling and functiona…
Dec 27, 2025
47ab106
Enhance analytics tracking and device information extraction
Dec 27, 2025
91bb059
Refactor index.js and AnalyticsController.js to remove debug logs and…
Dec 27, 2025
c12c60c
Update package-lock.json to reflect dependency upgrades and license a…
Dec 27, 2025
eed6268
Update Dockerfile to use npm install instead of npm ci
Dec 27, 2025
37dcc14
Update Dockerfile and deviceInfo.js for improved build efficiency and…
Dec 27, 2025
2ebb7f9
Update Dockerfile to use npm install for dependency management
Dec 27, 2025
1e8fd3e
Refactor deviceInfo.js for improved device type detection and referre…
Dec 27, 2025
f3e69dd
gfg
Dec 27, 2025
a1cf2f9
Enhance referrer handling in deviceInfo.js for improved accuracy
Dec 27, 2025
67b3915
Refactor saveAnalytics function in AnalyticsController.js to enhance …
Dec 27, 2025
5d042bc
Enhance user information retrieval and analytics logging in index.js
Dec 27, 2025
5f518c5
Add click details retrieval and display functionality
Dec 27, 2025
948add6
Add new click details retrieval endpoint and update frontend component
Dec 27, 2025
761b24f
Implement date range filtering in LinkClickDetailsV1 and update navig…
Dec 27, 2025
3d7b6f9
Enhance dark mode support in LinkClickDetailsV1 component
Dec 27, 2025
3f5e412
Enhance root route functionality in index.js
Dec 27, 2025
9408c69
Add mark read notification feature and update related components
Dec 27, 2025
eea489e
Update Postman environment and collection files; replace outdated ass…
Dec 27, 2025
61edf2a
Refactor API import and update asset references
Dec 28, 2025
f4774ae
Update documentation and enhance feature descriptions in frontend com…
Dec 28, 2025
1187dc7
added final working build
Dec 28, 2025
75672b2
Add LinkedIn post caption for LinkBridger promotion
Dec 28, 2025
8c41f91
Enhance authentication error handling and user feedback in AuthContro…
Dec 28, 2025
1678933
Remove navigation bar and related components from AboutDeveloper page…
Dec 29, 2025
55cc1ed
Add GitHub collaborators section with fetching functionality in About…
Dec 29, 2025
3dca100
Update AboutDeveloper description to highlight free custom domain fea…
Dec 29, 2025
04dc9e9
added build git collaboration
Dec 29, 2025
e38fd2b
mentained env
Dec 29, 2025
4d80d95
Update production environment check in getUserLinkUrl function to cor…
Jan 9, 2026
2920713
Add environment variable logging for debugging and improve URL handli…
Jan 9, 2026
5f61dff
Enhance analytics functionality and UI improvements
Jan 10, 2026
fe5d056
Enhance template management and dynamic favicon handling
Jan 10, 2026
b712773
Merge branch 'f/mobile' into develop
Jan 10, 2026
f175b02
added updated build
Jan 10, 2026
75625bf
minor fix
Jan 10, 2026
1059326
Update build assets and enhance styling
Jan 10, 2026
561902c
added ownership
Jan 21, 2026
dcbdd48
added build
Jan 21, 2026
f423b56
added json seo
Jan 21, 2026
0ed4f67
Add n8n service configuration and update nginx settings for SSL
Feb 7, 2026
29dbde7
Add testing instructions for n8n domain in nginx configuration
Feb 7, 2026
b4798e6
Add backend API routing and timeout settings to nginx configuration
Feb 7, 2026
8f50310
remove backend API proxy configuration from nginx settings
Feb 7, 2026
7590fd1
Update nginx configuration to normalize Origin header and handle trai…
Feb 8, 2026
6135cf3
Add N8N_PROXY_HOPS environment variable to docker-compose for nginx t…
Feb 8, 2026
41f5df5
Add n8n service to docker-compose and configure nginx for proxying
Feb 8, 2026
42d05b2
improved seo and made public to robot.txt and sitmap.xml
Feb 8, 2026
08660b4
Enhance SEO with updated meta tags, add structured data, and create s…
Feb 8, 2026
8d41b67
Add .env to .gitignore to prevent sensitive environment variables fro…
Jun 1, 2026
31321c1
Update domain references from clickly.cv to allin1url.in across multi…
Jun 1, 2026
64da601
Update index.html to reference new JavaScript asset and add new asset…
Jun 1, 2026
8c75d17
updated config
Jun 1, 2026
b81013a
Add comprehensive AWS EC2 deployment guide for GoDaddy, Docker, Nginx…
Jun 1, 2026
e174161
added changes
Jun 1, 2026
0a0362c
Update project references from LinkBridger to All in1 url across mult…
Jun 1, 2026
1e8bade
gen build
Jun 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ pnpm-debug.log*
lerna-debug.log*

/backend/node_modules
/frontend/dist
# /frontend/dist
/backend/.env
/frontend/.env
dist-ssr
*.local

Expand Down
242 changes: 242 additions & 0 deletions BACKEND_INTEGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
# Backend Integration Summary

This document summarizes all the backend endpoints and integrations that have been implemented to support the frontend features.

## ✅ Completed Integrations

### 1. Settings Page (`/settings`)

**Backend Endpoints:**
- `POST /settings/get` - Get user settings
- `POST /settings/update` - Update user settings

**Controller:** `SettingsController.js`
- `getSettings()` - Retrieves or creates default settings for user
- `updateSettings()` - Updates user settings with validation

**Route:** `SettingsRoute.js`
- Protected routes (requires authentication via `verifyToken`)

**Frontend Integration:**
- `Settings.jsx` already uses these endpoints
- Loads settings on mount
- Saves settings on button click

---

### 2. Search Functionality (Navbar)

**Backend Endpoint:**
- `POST /search/users` - Search for users

**Controller:** `SearchController.js`
- `searchUsers()` - Searches users by username or name
- Filters results based on user settings (isPublic + allowSearch)
- Returns only searchable profiles
- Includes profile images

**Route:** `SearchRoute.js`
- Public route (no authentication required)

**Frontend Integration:**
- `Nav.jsx` already uses `/search/users` endpoint
- Debounced search (300ms)
- Shows results in dropdown
- Click to visit profile

---

### 3. Profile Preview (`/profile/:username`)

**Backend Endpoint:**
- `POST /profile/getpublicprofile` - Get public profile data

**Controller:** `ProfileController.js`
- `getPublicProfile()` - Returns public profile with:
- Profile information (filtered by settings)
- Only public links
- Settings for display control
- Stats (if enabled)

**Route:** `ProfileRoute.js`
- Public route (no authentication required)

**Frontend Integration:**
- `ProfilePreview.jsx` already uses `/profile/getpublicprofile`
- Respects all visibility settings
- Shows only public links
- Displays stats based on settings

---

### 4. Link Visibility Controls

**Backend Endpoint:**
- `POST /source/updatevisibility` - Update link visibility

**Controller:** `LinkController.js`
- `updateVisibility()` - Updates link visibility (public/unlisted/private)
- Handles password hashing for unlisted links
- Validates user ownership
- Clears password for public/private links

**Route:** `LinkRoute.js`
- Protected route (requires authentication)

**Frontend Integration:**
- `Linkcard.jsx` already uses `/source/updatevisibility`
- Dropdown menu for visibility selection
- Updates Redux state on success
- Visual indicators for visibility status

---

### 5. Link Model Enhancements

**Changes:**
- Added `linkId` field (unique, required) - Generated automatically
- Added `visibility` field (enum: public/unlisted/private)
- Added `password` field (for unlisted links)
- Added `deletedAt` field (soft delete)
- Pre-save hook to generate `linkId` if missing

**Controller Updates:**
- `addNewSource()` - Generates `linkId` when creating links
- `getAllSource()` - Returns `visibility` and `linkId` fields
- Filters out deleted links (`deletedAt: null`)

---

## 📋 API Endpoints Reference

### Settings Endpoints

```
POST /settings/get
Body: { username?: string }
Response: { success: boolean, settings: UserSettings }
Auth: Required

POST /settings/update
Body: { username, profile?, links?, search?, privacy?, notifications? }
Response: { success: boolean, settings: UserSettings }
Auth: Required
```

### Search Endpoints

```
POST /search/users
Body: { query: string }
Response: { success: boolean, results: User[] }
Auth: Not required (public)
```

### Profile Endpoints

```
POST /profile/getpublicprofile
Body: { username: string }
Response: { success: boolean, profile, links, settings, stats }
Auth: Not required (public)
```

### Link Endpoints

```
POST /source/updatevisibility
Body: { id: string, visibility: 'public'|'unlisted'|'private', password?: string }
Response: { success: boolean, link: Link }
Auth: Required
```

---

## 🔒 Security Features

1. **Authentication**: All user-specific endpoints require JWT token
2. **Authorization**: Users can only modify their own data
3. **Password Hashing**: Unlisted link passwords are hashed with bcrypt
4. **Input Validation**: All endpoints validate required fields
5. **Privacy Controls**: Profile visibility respects user settings

---

## 🗄️ Database Models Used

1. **UserSettings** - Privacy and visibility settings
2. **User** - User authentication and basic info
3. **UserProfile** - Extended profile information
4. **Link** - Link data with visibility controls

---

## 🔄 Data Flow

### Settings Flow
1. User opens Settings page
2. Frontend calls `GET /settings/get`
3. Backend returns or creates default settings
4. User modifies settings
5. Frontend calls `POST /settings/update`
6. Backend updates and saves settings

### Search Flow
1. User types in search box
2. Frontend debounces and calls `POST /search/users`
3. Backend searches users and filters by settings
4. Backend returns searchable profiles
5. Frontend displays results in dropdown

### Profile Preview Flow
1. Visitor navigates to `/profile/:username`
2. Frontend calls `POST /profile/getpublicprofile`
3. Backend checks if profile is public
4. Backend returns profile data with only public links
5. Frontend displays based on visibility settings

### Link Visibility Flow
1. User clicks visibility button on link card
2. User selects new visibility (public/unlisted/private)
3. Frontend calls `POST /source/updatevisibility`
4. Backend validates ownership and updates
5. Frontend updates Redux state

---

## 🐛 Error Handling

All endpoints include proper error handling:
- 400: Bad Request (missing/invalid data)
- 401: Unauthorized (authentication required)
- 403: Forbidden (insufficient permissions)
- 404: Not Found (resource doesn't exist)
- 500: Internal Server Error

---

## 📝 Notes

1. **linkId Generation**: Automatically generated using crypto.randomBytes()
2. **Default Settings**: Created automatically on first access
3. **Search Privacy**: Only shows profiles with `isPublic=true` AND `allowSearch=true`
4. **Link Visibility**: Default is 'public' for new links
5. **Soft Deletes**: All models support soft deletes via `deletedAt` field

---

## ✅ Testing Checklist

- [x] Settings page loads and saves correctly
- [x] Search functionality works with privacy settings
- [x] Profile preview respects all visibility settings
- [x] Link visibility can be changed
- [x] Only public links show in profile preview
- [x] Authentication required for protected endpoints
- [x] Error handling works correctly
- [x] linkId is generated for new links

---

**Last Updated**: 2024-12-XX
**Status**: ✅ All endpoints implemented and wired up
103 changes: 0 additions & 103 deletions DEPLOYMENT_FIXES.md

This file was deleted.

Loading