|
| 1 | + # DevBoard Frontend |
| 2 | + |
| 3 | +A modern, feature-rich GitHub widget builder and portfolio dashboard. DevBoard empowers developers to create beautiful, interactive widgets for their GitHub profiles, visualize stats, and showcase their work with premium design tools inspired by Figma, Notion, and Linear. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 🚀 Features |
| 8 | + |
| 9 | +### Widget Builder |
| 10 | +- **Premium Canvas Sizes**: Choose from preset sizes (Badge, Stats Card, Banner, Square, Large Display) or set custom dimensions. |
| 11 | +- **Drag & Drop Elements**: Add text, images, containers, shapes (rectangle, circle, triangle, star), charts, progress bars, badges, buttons, and QR codes. |
| 12 | +- **GitHub Data Integration**: Fetch live GitHub stats (username, name, bio, followers, following, public repos, avatar, creation date, commits) and display them dynamically in widgets. |
| 13 | +- **Inline Editing**: Double-click elements to edit text inline with a beautiful, responsive editor. |
| 14 | +- **Layer Management**: Organize, lock/unlock, and toggle visibility for each element. View all layers in a sidebar. |
| 15 | +- **Grid & Snap**: Toggle grid visibility, adjust grid size, and enable snap-to-grid for precise placement. |
| 16 | +- **Theme Switching**: Instantly switch between dark and light canvas themes. |
| 17 | +- **SVG Export**: Auto-generates production-ready SVG code for your widget. Copy to clipboard with one click. |
| 18 | +- **Save & Privacy**: Save widgets to your dashboard, set them as private, and tag them for easy organization. |
| 19 | +- **Undo/Redo**: Robust history management for all canvas actions. |
| 20 | + |
| 21 | +### Portfolio Dashboard |
| 22 | +- **Profile Integration**: Connect your GitHub account and display widgets on your portfolio page. |
| 23 | +- **Widget Marketplace**: Discover, use, and remix widgets created by the community (coming soon). |
| 24 | + |
| 25 | +### UI/UX |
| 26 | +- **Modern Design**: Inspired by top design tools, with floating toolbars, draggable panels, and smooth transitions. |
| 27 | +- **Accessibility**: Keyboard shortcuts for quick actions, responsive layout for all devices. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## 🛠️ Getting Started |
| 32 | + |
| 33 | +### Prerequisites |
| 34 | +- Node.js (v18+ recommended) |
| 35 | +- npm or yarn |
| 36 | +- Docker (optional, for containerized deployment) |
| 37 | + |
| 38 | +### Installation |
| 39 | + |
| 40 | +1. **Clone the repository:** |
| 41 | + ```sh |
| 42 | + git clone https://github.com/NitinTheGreat/devboard-frontend.git |
| 43 | + cd devboard-frontend/devboard |
| 44 | + ``` |
| 45 | +2. **Install dependencies:** |
| 46 | + ```sh |
| 47 | + npm install |
| 48 | + # or |
| 49 | + yarn install |
| 50 | + ``` |
| 51 | +3. **Run the development server:** |
| 52 | + ```sh |
| 53 | + npm run dev |
| 54 | + # or |
| 55 | + yarn dev |
| 56 | + ``` |
| 57 | +4. **Open in browser:** |
| 58 | + Visit [http://localhost:3000](http://localhost:3000) |
| 59 | + |
| 60 | +### Environment Variables |
| 61 | +Create a `.env.local` file in the `devboard` directory and set: |
| 62 | +``` |
| 63 | +NEXT_PUBLIC_API_BASE_URL=<your-backend-api-url> |
| 64 | +``` |
| 65 | + |
| 66 | +--- |
| 67 | + |
| 68 | +## 🐳 Docker Deployment |
| 69 | + |
| 70 | +A sample `Dockerfile` is provided for easy containerization. See below for details. |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +## 🧩 Project Structure |
| 75 | + |
| 76 | +- `devboard/app/` — Next.js app routes and pages |
| 77 | +- `devboard/components/` — UI components, widget builder, authentication, marketplace, etc. |
| 78 | +- `devboard/lib/` — Utility functions, context, types |
| 79 | +- `devboard/public/` — Static assets (SVGs, icons) |
| 80 | +- `devboard/types/` — TypeScript types |
| 81 | + |
| 82 | +--- |
| 83 | + |
| 84 | +## ✨ Contributing |
| 85 | + |
| 86 | +We welcome contributions to DevBoard! To get started: |
| 87 | + |
| 88 | +1. **Fork the repository** and create your branch: |
| 89 | + ```sh |
| 90 | + git checkout -b feature/your-feature-name |
| 91 | + ``` |
| 92 | +2. **Make your changes** (see `devboard/components/widget-builder/index.tsx` for main logic). |
| 93 | +3. **Test locally** and ensure all features work as expected. |
| 94 | +4. **Commit and push**: |
| 95 | + ```sh |
| 96 | + git commit -m "Add: your feature description" |
| 97 | + git push origin feature/your-feature-name |
| 98 | + ``` |
| 99 | +5. **Open a Pull Request** on GitHub. Please describe your changes clearly and reference any related issues. |
| 100 | + |
| 101 | +### Guidelines |
| 102 | +- Write clean, readable code and follow the existing style. |
| 103 | +- Document new features in the README if relevant. |
| 104 | +- Add tests if possible. |
| 105 | +- Be respectful and collaborative. |
| 106 | + |
| 107 | +--- |
| 108 | + |
| 109 | +## 👤 Contributor |
| 110 | + |
| 111 | +- **Nitin Kumar Pandey** |
| 112 | + [LinkedIn](https://www.linkedin.com/in/nitinkrpandey) |
| 113 | + |
| 114 | +--- |
| 115 | + |
| 116 | +## 📄 License |
| 117 | + |
| 118 | +This project is licensed under the MIT License. See [LICENSE](../LICENSE) for details. |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +## 💬 Questions & Support |
| 123 | + |
| 124 | +For questions, suggestions, or support, please open an issue or reach out via [LinkedIn](https://www.linkedin.com/in/nitinkrpandey). |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +## 🐳 Dockerfile Example |
| 129 | + |
| 130 | +See below for a ready-to-use Dockerfile to run DevBoard Frontend in a container. |
0 commit comments