A premium, customizable Link-in-Bio platform designed to centralize your digital presence. Distinguishing itself from standard link aggregators, this solution offers a seamless, high-performance user experience powered by a robust Node/Express backend and a responsive Angular 17 frontend. Featuring integrated analytics, secure authentication, and dynamic media management, it empowers users with complete control over their personal brand through a sophisticated, enterprise-grade architecture.
- 🔐 Authentication: Email/password + OAuth (Google)
- 👤 Custom Profiles: Unique username URLs
- 🖼️ Avatar Upload: Cloudinary-powered image management
- 🔗 Link Management: Create, edit, delete, and reorder links (drag & drop)
- 📊 Analytics: Click tracking and trends visualization
- 📱 Responsive Design: Beautiful on mobile and desktop
- 🔥 Firebase Integration: Email verification & password reset
- Frontend: https://link-in-bio-platform.web.app/
Auto-Deploy: Every push to main automatically deploys both frontend and backend.
# Clone repository
git clone https://github.com/juwei-w/Link-in-Bio-Platform.git
cd Link-in-Bio-Platform
# Backend setup
cd backend
npm install
# Copy .env.example to .env and configure
npm run dev
# Frontend setup (new terminal)
cd frontend
npm install
npm startSee docs/dev/SETUP.md for detailed setup instructions.
Deployment Stack:
- Backend: Render.com (auto-deploy from GitHub)
- Frontend: Firebase Hosting (auto-deploy via GitHub Actions)
- Database: MongoDB Atlas
- Images: Cloudinary
Link-Sharing-Profile-Platform/
├── backend/ # Node.js + Express API
│ ├── routes/ # API endpoints
│ ├── models/ # MongoDB schemas
│ ├── middleware/ # Auth & validation
│ └── config/ # Database & Cloudinary
├── frontend/ # Angular 17 app
│ └── src/
│ ├── app/
│ │ ├── features/ # Pages (login, dashboard, profile)
│ │ ├── core/ # Services, guards, interceptors
│ │ └── shared/ # Reusable components
│ └── environments/ # Config (dev/prod)
└── docs/ # Documentation
├── dev/ # Development guides (PRD, TODO, ISSUES)
├── DEPLOYMENT.md # Full deployment guide
└── DEPLOYMENT-CHECKLIST.md # Quick deployment steps
- Node.js + Express
- MongoDB (Mongoose)
- Firebase Admin SDK
- Cloudinary (image upload)
- JWT authentication
- Bcrypt (password hashing)
- Angular 17
- Firebase Authentication
- Chart.js (analytics)
- RxJS
- TypeScript
-
Ju Wei:
- Backend Architecture: Engineered the robust Node.js/Express REST API and MongoDB schema.
- Authentication: Implemented secure JWT/Session auth and Firebase Google OAuth integration.
- DevOps: Configured automated CI/CD pipelines for seamless deployment (Render/Firebase).
- Cloud Integrations: Integrated Cloudinary for optimized image storage and transformation.
- Core Frontend: Built the core Angular structure, authentication guards, and http services.
- Interactive Features: Developed the drag-and-drop link reordering and theme customization (Color Picker).
-
Cheng Yung:
- UI/UX Design: Designed the modern, glassmorphic user interface and responsive layouts.
- Analytics Dashboard: Implemented interactive data visualization using Chart.js.
- Public Profile: Developed the public-facing profile page with dynamic link rendering, QR code generation, and social sharing capabilities.
- Documentation: Authored comprehensive PRD, API documentation, and setup guides.
- Quality Assurance: Conducted comprehensive software testing and bug tracking.
MIT License - see LICENSE file for details
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
- Issues: GitHub Issues
- Docs: See
docs/folder - PRD: docs/dev/PRD.md