{"id":29041943,"url":"https://github.com/aliramazanyildirim/thinkboard-app","last_synced_at":"2026-07-13T06:32:33.745Z","repository":{"id":300759835,"uuid":"1007070484","full_name":"AliRamazanYildirim/thinkboard-app","owner":"AliRamazanYildirim","description":"Thinkboard App is a modern idea management tool developed with JavaScript. It enables users to easily create, edit, and organize ideas with a simple, intuitive interface. No authentication required.","archived":false,"fork":false,"pushed_at":"2026-06-09T19:47:36.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T21:22:14.042Z","etag":null,"topics":["axios","bun","daisy-ui","express-js","lucide-icons","lucide-react","mongodb","nextjs","nodejs","rate-limit","react","react-hot-toast","react-router","tailwindcss","upstash","upstash-redis","vite"],"latest_commit_sha":null,"homepage":"https://thinkboard-app-jp8c.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AliRamazanYildirim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-23T12:19:57.000Z","updated_at":"2026-06-09T19:48:04.000Z","dependencies_parsed_at":"2025-06-23T13:31:18.405Z","dependency_job_id":"b08e1f7f-1975-4786-8688-d3ed209c725b","html_url":"https://github.com/AliRamazanYildirim/thinkboard-app","commit_stats":null,"previous_names":["aliramazanyildirim/thinkboard-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AliRamazanYildirim/thinkboard-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliRamazanYildirim%2Fthinkboard-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliRamazanYildirim%2Fthinkboard-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliRamazanYildirim%2Fthinkboard-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliRamazanYildirim%2Fthinkboard-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AliRamazanYildirim","download_url":"https://codeload.github.com/AliRamazanYildirim/thinkboard-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliRamazanYildirim%2Fthinkboard-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35413538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","bun","daisy-ui","express-js","lucide-icons","lucide-react","mongodb","nextjs","nodejs","rate-limit","react","react-hot-toast","react-router","tailwindcss","upstash","upstash-redis","vite"],"created_at":"2025-06-26T15:06:07.280Z","updated_at":"2026-07-13T06:32:33.723Z","avatar_url":"https://github.com/AliRamazanYildirim.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThinkBoard - Smart Notes App\n\n## 🇩🇪 Deutsch | 🇺🇸 English\n\n---\n\n## 🇩🇪 Deutsch\n\n### Übersicht\n\nThinkBoard ist eine moderne, responsive Notiz-App, die es Benutzern ermöglicht, ihre Gedanken und Ideen effizient zu organisieren. Die App bietet eine intuitive Benutzeroberfläche mit erweiterten Funktionen wie Notiz-Kategorisierung, Priorisierung und Archivierung.\n\n### ✨ Hauptfunktionen\n\n- **📝 Notiz-Management**: Erstellen, bearbeiten und löschen von Notizen\n- **🏷️ Tag-System**: Organisieren von Notizen mit anpassbaren Tags\n- **📌 Pin-Funktion**: Wichtige Notizen anheften\n- **📦 Archivierung**: Notizen archivieren und wiederherstellen\n- **🎨 Farbkodierung**: Individuelle Farben für bessere Visualisierung\n- **⚡ Prioritätsstufen**: Low, Medium, High Prioritäten\n- **🔒 Rate Limiting**: Schutz vor zu vielen Anfragen\n- **📱 Responsive Design**: Optimiert für alle Geräte\n\n### 🛠️ Technologie-Stack\n\n#### Frontend\n\n- **React 19.1.0** - Moderne UI-Bibliothek\n- **React Router 7.6.3** - Client-seitiges Routing\n- **Tailwind CSS 3.4.17** - Utility-first CSS Framework\n- **DaisyUI 5.0.43** - Tailwind CSS Komponenten-Bibliothek\n- **Lucide React** - Moderne Icon-Bibliothek\n- **React Hot Toast** - Benutzerfreundliche Benachrichtigungen\n- **Axios** - HTTP-Client für API-Aufrufe\n- **Vite** - Schnelles Build-Tool\n\n#### Backend\n\n- **Node.js mit Bun Runtime** - Moderne JavaScript-Laufzeit\n- **Express 5.1.0** - Web-Framework\n- **MongoDB mit Mongoose 8.16.0** - NoSQL-Datenbank\n- **Upstash Redis** - Rate Limiting und Caching\n- **CORS** - Cross-Origin Resource Sharing\n\n### 🚀 Installation und Setup\n\n#### Voraussetzungen\n\n- Node.js (v18 oder höher)\n- Bun Runtime\n- MongoDB-Instanz\n- Upstash Redis-Account\n\n#### 1. Repository klonen\n\n```bash\ngit clone \u003crepository-url\u003e\ncd thinkboard-app\n```\n\n#### 2. Backend Setup\n\n```bash\ncd backend\nbun install\n\n# Umgebungsvariablen konfigurieren\ncp .env.example .env\n```\n\n**Backend .env Konfiguration:**\n\n```env\nMONGO_URI=mongodb://localhost:27017/thinkboard\nPORT=5001\nFRONTEND_URL=http://localhost:5173\nUPSTASH_REDIS_REST_URL=your_redis_url\nUPSTASH_REDIS_REST_TOKEN=your_redis_token\n```\n\n#### 3. Frontend Setup\n\n```bash\ncd frontend\nbun install\n\n# Umgebungsvariablen konfigurieren\ncp .env.example .env\n```\n\n**Frontend .env Konfiguration:**\n\n```env\nVITE_API_URL=http://localhost:5001/api\n```\n\n#### 4. Anwendung starten\n\n```bash\n# Backend starten\ncd backend\nbun run dev\n\n# Frontend starten (neues Terminal)\ncd frontend\nbun run dev\n```\n\n### 📁 Projektstruktur\n\n```path\nthinkboard-app/\n├── backend/\n│   ├── src/\n│   │   ├── config/\n│   │   │   ├── db.js          # MongoDB-Konfiguration\n│   │   │   └── upstash.js     # Redis Rate Limiting\n│   │   ├── controllers/\n│   │   │   └── notesController.js  # Notiz-Logik\n│   │   ├── middleware/\n│   │   │   └── rateLimiter.js      # Rate Limiting Middleware\n│   │   ├── models/\n│   │   │   └── Note.js        # Notiz-Datenmodell\n│   │   ├── routes/\n│   │   │   └── notesRoutes.js # API-Routen\n│   │   └── server.js          # Server-Konfiguration\n│   └── package.json\n├── frontend/\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── NavBar.jsx     # Navigation\n│   │   │   ├── NoteCard.jsx   # Notiz-Karte\n│   │   │   ├── NotesNotFound.jsx  # Leerzustand\n│   │   │   └── RateLimitedUi.jsx  # Rate Limit UI\n│   │   ├── pages/\n│   │   │   ├── HomePage.jsx    # Startseite\n│   │   │   ├── CreatePage.jsx  # Notiz erstellen\n│   │   │   └── NoteDetailPage.jsx  # Notiz bearbeiten\n│   │   ├── lib/\n│   │   │   └── axios.js       # HTTP-Client\n│   │   └── App.jsx            # Haupt-App-Komponente\n│   └── package.json\n└── README.md\n```\n\n### 🔧 Verfügbare Skripte\n\n#### Backend-Bereich\n\n```bash\nbun run dev    # Entwicklungsserver mit nodemon\nbun run start  # Produktionsserver\n```\n\n#### Frontend-Bereich\n\n```bash\nbun run dev     # Entwicklungsserver\nbun run build   # Production Build\nbun run preview # Build-Vorschau\n```\n\n### 📊 API-Endpunkte\n\n#### Notizen\n\n- `GET /api/notes` - Alle Notizen abrufen\n- `GET /api/notes/:id` - Einzelne Notiz abrufen\n- `POST /api/notes` - Neue Notiz erstellen\n- `PUT /api/notes/:id` - Notiz aktualisieren\n- `DELETE /api/notes/:id` - Notiz löschen\n\n#### Notiz-Aktionen\n\n- `PATCH /api/notes/:id/pin` - Notiz an-/abheften\n- `PATCH /api/notes/:id/archive` - Notiz archivieren/wiederherstellen\n\n### 🎨 Design-System\n\n- **Farbschema**: Dark Theme mit grünen Akzenten\n- **Typografie**: System-Schriftarten mit Tailwind CSS\n- **Komponenten**: DaisyUI für konsistente UI-Elemente\n- **Icons**: Lucide React für moderne Icons\n\n### 🔒 Sicherheit\n\n- **Rate Limiting**: 5 Anfragen pro Minute mit Upstash Redis\n- **Input-Validierung**: Vollständige Validierung auf Backend-Seite\n- **CORS-Konfiguration**: Sichere Cross-Origin-Requests\n- **Fehlerbehandlung**: Umfassende Fehlerbehandlung\n\n### 📱 Responsive Design\n\n- **Mobile-First**: Optimiert für Mobilgeräte\n- **Breakpoints**: sm, md, lg, xl Breakpoints\n- **Touch-Friendly**: Optimiert für Touch-Interfaces\n\n---\n\n## 🇺🇸 English\n\n### Overview\n\nThinkBoard is a modern, responsive note-taking app that allows users to efficiently organize their thoughts and ideas. The app features an intuitive user interface with advanced features like note categorization, prioritization, and archiving.\n\n### ✨ Key Features\n\n- **📝 Note Management**: Create, edit, and delete notes\n- **🏷️ Tag System**: Organize notes with customizable tags\n- **📌 Pin Function**: Pin important notes\n- **📦 Archiving**: Archive and restore notes\n- **🎨 Color Coding**: Individual colors for better visualization\n- **⚡ Priority Levels**: Low, Medium, High priorities\n- **🔒 Rate Limiting**: Protection against too many requests\n- **📱 Responsive Design**: Optimized for all devices\n\n### 🛠️ Technology Stack\n\n#### Frontend\n\n- **React 19.1.0** - Modern UI library\n- **React Router 7.6.3** - Client-side routing\n- **Tailwind CSS 3.4.17** - Utility-first CSS framework\n- **DaisyUI 5.0.43** - Tailwind CSS component library\n- **Lucide React** - Modern icon library\n- **React Hot Toast** - User-friendly notifications\n- **Axios** - HTTP client for API calls\n- **Vite** - Fast build tool\n\n#### Backend\n\n- **Node.js with Bun Runtime** - Modern JavaScript runtime\n- **Express 5.1.0** - Web framework\n- **MongoDB with Mongoose 8.16.0** - NoSQL database\n- **Upstash Redis** - Rate limiting and caching\n- **CORS** - Cross-Origin Resource Sharing\n\n### 🚀 Installation and Setup\n\n#### Prerequisites\n\n- Node.js (v18 or higher)\n- Bun Runtime\n- MongoDB instance\n- Upstash Redis account\n\n#### 1. Clone Repository\n\n```bash\ngit clone \u003crepository-url\u003e\ncd thinkboard-app\n```\n\n#### 2. Backend Setup\n\n```bash\ncd backend\nbun install\n\n# Configure environment variables\ncp .env.example .env\n```\n\n**Backend .env Configuration:**\n\n```env\nMONGO_URI=mongodb://localhost:27017/thinkboard\nPORT=5001\nFRONTEND_URL=http://localhost:5173\nUPSTASH_REDIS_REST_URL=your_redis_url\nUPSTASH_REDIS_REST_TOKEN=your_redis_token\n```\n\n#### 3. Frontend Setup\n\n```bash\ncd frontend\nbun install\n\n# Configure environment variables\ncp .env.example .env\n```\n\n**Frontend .env Configuration:**\n\n```env\nVITE_API_URL=http://localhost:5001/api\n```\n\n#### 4. Start Application\n\n```bash\n# Start backend\ncd backend\nbun run dev\n\n# Start frontend (new terminal)\ncd frontend\nbun run dev\n```\n\n### 📁 Project Structure\n\n```path\nthinkboard-app/\n├── backend/\n│   ├── src/\n│   │   ├── config/\n│   │   │   ├── db.js          # MongoDB configuration\n│   │   │   └── upstash.js     # Redis rate limiting\n│   │   ├── controllers/\n│   │   │   └── notesController.js  # Note logic\n│   │   ├── middleware/\n│   │   │   └── rateLimiter.js      # Rate limiting middleware\n│   │   ├── models/\n│   │   │   └── Note.js        # Note data model\n│   │   ├── routes/\n│   │   │   └── notesRoutes.js # API routes\n│   │   └── server.js          # Server configuration\n│   └── package.json\n├── frontend/\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── NavBar.jsx     # Navigation\n│   │   │   ├── NoteCard.jsx   # Note card\n│   │   │   ├── NotesNotFound.jsx  # Empty state\n│   │   │   └── RateLimitedUi.jsx  # Rate limit UI\n│   │   ├── pages/\n│   │   │   ├── HomePage.jsx    # Home page\n│   │   │   ├── CreatePage.jsx  # Create note\n│   │   │   └── NoteDetailPage.jsx  # Edit note\n│   │   ├── lib/\n│   │   │   └── axios.js       # HTTP client\n│   │   └── App.jsx            # Main app component\n│   └── package.json\n└── README.md\n```\n\n### 🔧 Available Scripts\n\n#### Backend\n\n```bash\nbun run dev    # Development server with nodemon\nbun run start  # Production server\n```\n\n#### Frontend\n\n```bash\nbun run dev     # Development server\nbun run build   # Production build\nbun run preview # Build preview\n```\n\n### 📊 API Endpoints\n\n#### Notes\n\n- `GET /api/notes` - Get all notes\n- `GET /api/notes/:id` - Get single note\n- `POST /api/notes` - Create new note\n- `PUT /api/notes/:id` - Update note\n- `DELETE /api/notes/:id` - Delete note\n\n#### Note Actions\n\n- `PATCH /api/notes/:id/pin` - Pin/unpin note\n- `PATCH /api/notes/:id/archive` - Archive/restore note\n\n### 🎨 Design System\n\n- **Color Scheme**: Dark theme with green accents\n- **Typography**: System fonts with Tailwind CSS\n- **Components**: DaisyUI for consistent UI elements\n- **Icons**: Lucide React for modern icons\n\n### 🔒 Security\n\n- **Rate Limiting**: 5 requests per minute with Upstash Redis\n- **Input Validation**: Complete validation on backend side\n- **CORS Configuration**: Secure cross-origin requests\n- **Error Handling**: Comprehensive error handling\n\n### 📱 Responsive Design\n\n- **Mobile-First**: Optimized for mobile devices\n- **Breakpoints**: sm, md, lg, xl breakpoints\n- **Touch-Friendly**: Optimized for touch interfaces\n\n---\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- React team for the amazing framework\n- Tailwind CSS for the utility-first approach\n- MongoDB for the flexible database\n- Bun for the fast JavaScript runtime\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliramazanyildirim%2Fthinkboard-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliramazanyildirim%2Fthinkboard-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliramazanyildirim%2Fthinkboard-app/lists"}