{"id":26547140,"url":"https://github.com/jlokitha/designhub-backend","last_synced_at":"2026-04-05T08:31:19.356Z","repository":{"id":282884695,"uuid":"927670228","full_name":"jlokitha/DesignHub-Backend","owner":"jlokitha","description":"DesignHub Backend is a RESTful API server built with Node.js, Express, and TypeScript, powering the DesignHub platform—a UI component gallery for sharing React components.","archived":false,"fork":false,"pushed_at":"2025-03-26T10:45:37.000Z","size":72,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T16:26:16.846Z","etag":null,"topics":["backend","expressjs","jwt","mysql","nodejs","prisma","rest-api","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jlokitha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02-05T10:49:09.000Z","updated_at":"2025-03-17T12:36:43.000Z","dependencies_parsed_at":"2025-03-17T13:43:39.625Z","dependency_job_id":"f26373ba-f1ed-4439-a45b-e98ff7cb7ef8","html_url":"https://github.com/jlokitha/DesignHub-Backend","commit_stats":null,"previous_names":["jlokitha/designhub-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jlokitha/DesignHub-Backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FDesignHub-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FDesignHub-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FDesignHub-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FDesignHub-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlokitha","download_url":"https://codeload.github.com/jlokitha/DesignHub-Backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlokitha%2FDesignHub-Backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31430009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["backend","expressjs","jwt","mysql","nodejs","prisma","rest-api","typescript"],"created_at":"2025-03-22T05:30:05.496Z","updated_at":"2026-04-05T08:31:19.298Z","avatar_url":"https://github.com/jlokitha.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿\u003cdiv style=\"display: flex; align-items: center; justify-content: center;\"\u003e\r\n  \u003cimg src=\"/public/code.svg\" alt=\"DesignHub Logo\" width=\"60\" style=\"margin-right: 15px;\" /\u003e\r\n  \u003ch1 style=\"margin: 0;\"\u003eDesignHub Backend\u003c/h1\u003e\r\n\u003c/div\u003e\r\n\r\nDesignHub is a platform where users share and tweak React component code snippets—from buttons to modals—making UI design knowledge accessible to everyone. This repository contains the backend server powering DesignHub, built with Node.js, Express, and TypeScript, with Prisma managing a MySQL database.\r\n\r\n---\r\n\r\n\u003cdetails\u003e\r\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\r\n\r\n- [Overview](#overview)\r\n- [Tech Stack](#tech-stack)\r\n- [Getting Started](#getting-started)\r\n    - [Prerequisites](#prerequisites)\r\n    - [Installation](#installation)\r\n    - [Environment Variables](#environment-variables)\r\n- [Development](#development)\r\n- [API Documentation](#api-documentation)\r\n- [Frontend Repository](#frontend-repository)\r\n- [License](#license)\r\n\u003c/details\u003e\r\n\r\n\r\n---\r\n\r\n## Overview\r\n\r\nThe DesignHub backend is responsible for handling all server-side operations, including:\r\n- User management and authentication.\r\n- CRUD operations for UI component snippets.\r\n- Serving data via a RESTful API.\r\n\r\nBy leveraging Express and TypeScript, the backend provides a robust and type-safe environment, while Prisma simplifies database interactions with MySQL.\r\n\r\n---\r\n\r\n## Tech Stack\r\n\r\n- **Node.js** – JavaScript runtime.\r\n- **Express.js** – Web framework for building APIs.\r\n- **TypeScript** – Superset of JavaScript for type safety.\r\n- **Prisma** – ORM for MySQL database management.\r\n- **MySQL** – Relational database.\r\n\r\n---\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\nEnsure you have the following installed:\r\n- [Node.js](https://nodejs.org/en/download)\r\n- [MySQL](https://www.mysql.com/downloads/)\r\n\r\n### Installation\r\n\r\n1. **Clone the repository:**\r\n\r\n   ```bash\r\n   git clone https://github.com/jlokitha/DesignHub-Backend.git\r\n   cd DesignHub-Backend\r\n   ```\r\n\r\n2. **Install dependencies:**\r\n\r\n   ```bash\r\n   npm install\r\n   ```\r\n\r\n3. **Generate Prisma Client:**\r\n\r\n   ```bash\r\n   npx prisma generate\r\n   ```\r\n\r\n---\r\n\r\n### Environment Variables\r\n\r\nCreate a `.env` file in the project root and configure the following variables:\r\n\r\n```env\r\n# MySQL connection string\r\nDATABASE_URL=\"mysql://USER:PASSWORD@HOST:PORT/DATABASE_NAME\"\r\nBASE_URL=\"http://localhost:3000\"\r\n\r\n# Secret keys\r\nSECRET_KEY=[Secret key for JWT]\r\nREFRESH_TOKEN=[Refresh token secret key]\r\n```\r\n---\r\n## Development\r\n\r\nTo start the development server with live reload, run:\r\n   ```bash\r\n      npm start\r\n   ```\r\n\r\n---\r\n\r\n## API Documentation\r\n\r\nDetailed API endpoint documentation is available via our Postman collection.  \r\nAccess it [here](https://documenter.getpostman.com/view/35384124/2sAYdfqWRK).\r\n\r\n---\r\n\r\n## Frontend Repository\r\n\r\nAccess the frontend repository on GitHub [here](https://github.com/jlokitha/DesignHub-Frontend.git).\r\n\r\n---\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.\r\n\r\n---\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003ca href=\"https://github.com/jlokitha\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-000000?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"GitHub\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://nodejs.org/\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/Node.js-000000?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white\" alt=\"Node.js\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://expressjs.com/\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/Express.js-000000?style=for-the-badge\u0026logo=express\u0026logoColor=white\" alt=\"Express.js\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://www.prisma.io/\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/Prisma-000000?style=for-the-badge\u0026logo=prisma\u0026logoColor=white\" alt=\"Prisma\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://www.mysql.com/\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/MySQL-000000?style=for-the-badge\u0026logo=mysql\u0026logoColor=white\" alt=\"MySQL\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://www.typescriptlang.org/\" target=\"_blank\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/TypeScript-000000?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\r\n  \u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u0026copy; 2025 Janindu Lokitha\r\n\u003c/p\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlokitha%2Fdesignhub-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlokitha%2Fdesignhub-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlokitha%2Fdesignhub-backend/lists"}