Skip to content

Interactive 3D digital business card platform built with Next.js, Three.js, and TypeScript. Create, customize, and share stunning animated business cards with multiple templates and real-time previews.

Notifications You must be signed in to change notification settings

nenad0707/Vizify

Repository files navigation

🌟 Vizify - Interactive 3D Digital Business Card Platform

Next.js TypeScript Three.js TailwindCSS Prisma Framer Motion Vercel

Vizify is a modern web application built with Next.js that allows users to create, customize, and share interactive 3D digital business cards. Leveraging cutting-edge technologies like Three.js for 3D rendering and Framer Motion for smooth animations, Vizify helps professionals stand out with stunning digital business cards that showcase their personal brand.

🌐 Live Demo

Vizify Demo

⚠️ Note: Registration is required for creating and managing your own digital business cards.


πŸ“– Table of Contents


πŸ“š Project Overview

Vizify revolutionizes how professionals share their contact information by providing an immersive and interactive digital business card experience. Users can:

  • Create personalized business cards with custom colors and templates
  • Share cards via QR codes or direct links
  • Manage multiple cards through a streamlined dashboard
  • Showcase their professional identity with animated 3D cards

Built with a focus on user experience and visual appeal, Vizify combines cutting-edge web technologies to deliver a seamless and memorable digital presence solution.


✨ Features

  • 🌈 Interactive 3D Business Cards: Stunning animated cards with realistic 3D effects powered by Three.js
  • 🎨 Multiple Design Templates: Choose from modern, classic, and minimalist templates to match your style
  • 🎭 Custom Color Schemes: Personalize your card with premium color options that reflect your brand
  • πŸ“± Responsive Design: Perfect viewing experience across all devices - desktop, tablet, and mobile
  • πŸ“Š User Dashboard: Comprehensive dashboard to create, edit, and manage all your digital cards
  • πŸ”„ Real-time Preview: See your changes instantly as you customize your business card
  • πŸ“€ One-click Sharing: Share your digital presence through multiple channels with ease
  • πŸ”’ Secure Authentication: Protected user accounts with NextAuth.js and secure data storage
  • πŸ“± QR Code Generation: Easily share your digital card in person with auto-generated QR codes
  • πŸ–ΌοΈ Download as Image: Save your card for use in email signatures or other digital platforms
  • πŸ” SEO-Optimized Public Pages: Card sharing pages designed for maximum discoverability

πŸ“Έ Screenshots

🏠 Home Page

Home

Welcome page showcasing interactive 3D business card examples and main features

πŸ“Š Dashboard

Dashboard

User dashboard for managing multiple digital business cards

✏️ Create Page

Create

Interactive business card creator with customization options and live 3D preview

πŸ“± Mobile Experience

Mobile View

Responsive design optimized for mobile devices


πŸ› οΈ Tech Stack & Tools

Frontend

  • Next.js: React framework with server-side rendering and static site generation
  • TypeScript: Type safety and improved developer experience
  • TailwindCSS: Utility-first CSS framework for rapid UI development
  • Framer Motion: Advanced animations and transitions
  • Shadcn UI: Beautifully designed accessible UI components
  • Lucide Icons: Beautiful and consistent icon set

Backend & Database

  • Next.js API Routes: Serverless API endpoints
  • Prisma ORM: Type-safe database access and migrations
  • MySQL: Robust relational database for data storage

Authentication

  • NextAuth.js: Flexible authentication solution with built-in providers
  • JWT: Secure token-based authentication

3D Rendering

  • Three.js: JavaScript 3D library for rendering interactive 3D graphics
  • React Three Fiber: React renderer for Three.js
  • @react-three/drei: Helper components for React Three Fiber

Deployment

  • Vercel: Platform optimized for Next.js applications with CI/CD

πŸ” Architecture Overview

Vizify follows a modern Next.js architecture that separates concerns while keeping related code together for better maintainability:

Key Components

  1. Pages & API Routes: Next.js pages for the frontend with API routes handling backend logic
  2. React Components: Modular UI components organized by functionality
  3. 3D Rendering Engine: Custom Three.js implementation for interactive card previews
  4. Database Layer: Type-safe database access through Prisma ORM
  5. Authentication System: Secure user authentication with NextAuth.js
  6. Shared Types & Utilities: Common types and helper functions

The application uses a hybrid approach with both server-side rendering and client-side interactivity for optimal performance and SEO.


🎯 Design Decisions

  1. 3D Rendering Strategy: For performance optimization, we implement different rendering approaches:

    • Full 3D WebGL rendering for interactive card previews
    • CSS 3D transforms for lighter card representations in listings
    • Server-side generated previews for sharing images
  2. Modular Components: UI components are built with composition in mind, following atomic design principles to maximize reusability.

  3. Design System: A consistent design language using TailwindCSS with custom theme variables ensures visual coherence throughout the application.

  4. Performance Optimization: Dynamic imports, code splitting, and optimized assets keep the application fast and responsive even with complex 3D elements.


πŸ“± Responsive Design

Vizify is built with a mobile-first approach, ensuring a great user experience across all devices:

  • Adaptive Layouts: Flexbox and CSS Grid for responsive content organization
  • Touch-Optimized: Controls designed for both mouse and touch interaction
  • Performance Focused: Optimized 3D rendering based on device capabilities
  • Progressive Enhancement: Core functionality works on all devices, with enhanced experiences on capable browsers

🎨 Card Templates

Vizify offers three premium card templates, each with distinct visual characteristics:

  • Modern: Dynamic color gradients with geometric accents and a sleek finish
  • Classic: Elegant side accent with refined details for a traditional business card feel
  • Minimalist: Clean design with subtle corner accents for a contemporary, uncluttered look

Each template is fully customizable with your choice of premium colors and information fields.


πŸ’» Development

Prerequisites

  • Node.js 16.x or higher
  • npm or yarn package manager
  • MySQL database
  • A modern web browser for optimal 3D rendering

Installation

  1. Clone the repository
git clone https://github.com/nenad0707/Vizify.git
cd vizify
  1. Install dependencies
npm install
# or
yarn install
  1. Set up environment variables
cp .env.example .env.local

Edit the .env.local file and add your database connection string and other required credentials.

  1. Set up the database
npx prisma db push
  1. Start the development server
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser to see the application

Commands

  • npm run dev: Start the development server
  • npm run build: Build the application for production
  • npm run start: Start the production server
  • npm run lint: Run ESLint to check code quality
  • npm run test: Run test suite (if configured)

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“Œ Created with ❀️ by Nenad | Portfolio | LinkedIn

About

Interactive 3D digital business card platform built with Next.js, Three.js, and TypeScript. Create, customize, and share stunning animated business cards with multiple templates and real-time previews.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published