The Ultimate Developer Portfolio Builder
Build, customize, and deploy stunning, responsive developer portfolios in seconds. Choose from multiple state-of-the-art themes, track your profile analytics, and showcase your best work effortlessly.
- 🎨 Multiple Premium Themes: Choose from beautifully crafted, fully responsive templates like
Modern,Editorial, andTerminal. - 📊 Built-in Analytics: Track your portfolio's performance with integrated views, clicks, and engagement rate metrics right from your dashboard.
- 🔐 Secure Authentication: Seamless login via Google, GitHub, or Email utilizing NextAuth.
- 📱 Fully Responsive: Flawless design that adapts dynamically to desktops, tablets, and mobile devices.
- 📄 Resume Manager: Upload, manage, and share your resume directly from your customized portfolio.
- 🔗 Shareable Links & QR Codes: Instantly generate a shareable link and QR code for your live portfolio.
- 🌙 Dark & Light Mode: Automated themes following the sleek modern dark aesthetic.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS & Vanilla CSS Modules
- Authentication: NextAuth.js
- Database: MongoDB & Mongoose
- Icons: Lucide React
- Charts: Recharts
Follow these steps to set up Folioo locally on your machine.
- Node.js 18.x or later
- MongoDB instance (Atlas or local)
- Git
-
Clone the repository:
git clone https://github.com/Muzzu8421/folioo.git cd folioo -
Install dependencies: Using
pnpmis recommended.pnpm install # or npm install # or yarn install
-
Environment Variables: Create a
.env.localfile in the root directory and add the necessary environment variables.# Database MONGODB_URI=your_mongodb_connection_string # NextAuth NEXTAUTH_SECRET=your_super_secret_key NEXTAUTH_URL=http://localhost:3000 # OAuth Providers (Google & GitHub) GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GITHUB_ID=your_github_id GITHUB_SECRET=your_github_secret # Email Configuration (for email verification) EMAIL_HOST=smtp.gmail.com EMAIL_PORT=465 EMAIL_SECURE=true EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password EMAIL_FROM=your_email@gmail.com
-
Run the development server:
pnpm run dev
-
Open the app: Open http://localhost:3000 with your browser to see the result.
src/
├── app/ # Next.js App Router (pages, api, layouts)
│ ├── api/ # API Routes (Auth, Analytics, User Data)
│ ├── dashboard/ # Dashboard layout and components
│ └── portfolio/ # Public portfolio generation routes
├── components/ # Reusable UI components & Themes
│ ├── Modern.js # Modern Theme
│ ├── Editorial.js # Editorial Theme
│ └── Terminal.js # Terminal Theme
├── models/ # MongoDB Mongoose schemas
├── utils/ # Helper functions (Emails, Parsing)
└── db/ # Database connection logic
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.