{"id":49199385,"url":"https://github.com/suradet-ps/medsup-dash","last_synced_at":"2026-04-23T13:01:30.449Z","repository":{"id":330145518,"uuid":"1121742801","full_name":"suradet-ps/medsup-dash","owner":"suradet-ps","description":"MedSup Dash is a modern, high-performance dashboard application designed for medical supply management. ","archived":false,"fork":false,"pushed_at":"2026-04-20T08:47:39.000Z","size":198,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T15:49:51.050Z","etag":null,"topics":["bun","pharmacy","semantic-release","vue","vue-project"],"latest_commit_sha":null,"homepage":"https://medsup-dash.netlify.app","language":"Vue","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/suradet-ps.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-12-23T13:32:47.000Z","updated_at":"2026-04-18T07:14:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/suradet-ps/medsup-dash","commit_stats":null,"previous_names":["pharmacist-sabot/medsup-dash","suradet-ps/medsup-dash"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/suradet-ps/medsup-dash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suradet-ps%2Fmedsup-dash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suradet-ps%2Fmedsup-dash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suradet-ps%2Fmedsup-dash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suradet-ps%2Fmedsup-dash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suradet-ps","download_url":"https://codeload.github.com/suradet-ps/medsup-dash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suradet-ps%2Fmedsup-dash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32181374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T11:42:27.955Z","status":"ssl_error","status_checked_at":"2026-04-23T11:42:18.877Z","response_time":53,"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":["bun","pharmacy","semantic-release","vue","vue-project"],"created_at":"2026-04-23T13:01:29.648Z","updated_at":"2026-04-23T13:01:30.443Z","avatar_url":"https://github.com/suradet-ps.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# MedSup Dash\n\n\u003cp\u003e\n  \u003ca href=\"https://vuejs.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Vue-3.5+-4FC08D?logo=vue.js\u0026logoColor=white\" alt=\"Vue\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-5.9+-3178C6?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://vitejs.dev/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Vite-7.2+-646CFF?logo=vite\u0026logoColor=white\" alt=\"Vite\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://tailwindcss.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-4.1+-06B6D4?logo=tailwindcss\u0026logoColor=white\" alt=\"Tailwind\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://bun.sh\"\u003e\u003cimg src=\"https://img.shields.io/badge/Bun-1.1+-000000?logo=bun\u0026logoColor=white\" alt=\"Bun\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/suradet-ps/medsup-dash/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/suradet-ps/medsup-dash/actions/workflows/ci.yml/badge.svg\" alt=\"CI Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/suradet-ps/medsup-dash/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/suradet-ps/medsup-dash\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/semantic-release/semantic-release\"\u003e\u003cimg src=\"https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\" alt=\"Semantic Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://medsup-dash.netlify.app\"\u003e\u003cimg src=\"https://img.shields.io/badge/Demo-Live-00C7B7?logo=netlify\u0026logoColor=white\" alt=\"Live Demo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n**MedSup Dash** is a modern, high-performance dashboard application designed for medical supply management. Built with the latest web technologies, it provides a seamless and responsive user experience for tracking key performance indicators (KPIs), visualizing data, and managing inventory.\n\n## Tech Stack\n\nThis project leverages a cutting-edge stack to ensure speed, scalability, and developer experience:\n\n- **Framework:** [Vue 3](https://vuejs.org/) (Composition API)\n- **Build Tool:** [Vite 7](https://vitejs.dev/)\n- **Styling:** [Tailwind CSS 4](https://tailwindcss.com/)\n- **State Management:** [Pinia](https://pinia.vuejs.org/)\n- **Backend / Auth:** [Supabase](https://supabase.com/)\n- **Charts:** [Chart.js](https://www.chartjs.org/) \u0026 [vue-chartjs](https://vue-chartjs.org/)\n- **Icons:** [Lucide Vue](https://lucide.dev/guide/packages/lucide-vue-next)\n- **Testing:** [Vitest](https://vitest.dev/)\n- **Linting:** [ESLint](https://eslint.org/) (with Antfu config)\n\n## Key Features\n\n- **Secure Authentication**: Robust login and session management powered by Supabase Auth.\n- **Interactive Dashboard**: Real-time data visualization with dynamic charts and graphs.\n- **KPI Tracking**: specialized KPI cards for monitoring critical metrics at a glance.\n- **Fully Responsive**: Mobile-first design ensuring perfect usability across all devices.\n- **Blazing Fast**: Optimized build and HMR (Hot Module Replacement) with Vite.\n- **Type Safe**: Full TypeScript support for reliable and maintainable code.\n\n## Getting Started\n\nFollow these steps to set up the project locally.\n\n### Prerequisites\n\n- **Node.js** (Latest LTS recommended)\n- **Bun** (Recommended) or npm/yarn/pnpm\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/suradet-ps/medsup-dash.git\n   cd medsup-dash\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   bun install\n   # or\n   npm install\n   ```\n\n3. **Environment Setup**\n\n   Create a `.env` file in the root directory by copying the example:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n   Update `.env` with your Supabase credentials:\n\n   ```env\n   VITE_SUPABASE_URL=your_supabase_url\n   VITE_SUPABASE_ANON_KEY=your_supabase_anon_key\n   ```\n\n4. **Run the development server**\n\n   ```bash\n   bun dev\n   # or\n   npm run dev\n   ```\n\n   Open [http://localhost:5173](http://localhost:5173) in your browser.\n\n## Scripts\n\n| Script          | Description                            |\n| :-------------- | :------------------------------------- |\n| `dev`           | Start the development server           |\n| `build`         | Type-check and build for production    |\n| `preview`       | Preview the production build locally   |\n| `lint`          | Lint files with ESLint                 |\n| `lint:fix`      | Fix linting errors automatically       |\n| `test:unit`     | Run unit tests with Vitest             |\n| `test:coverage` | Run tests and generate coverage report |\n\n## Project Structure\n\n```text\nmedsup-dash/\n├── .github/            # GitHub Actions \u0026 workflows\n├── src/\n│   ├── assets/         # Static assets and global styles\n│   ├── components/     # Reusable Vue components\n│   │   ├── common/     # Generic UI components\n│   │   └── dashboard/  # Dashboard-specific widgets\n│   ├── layouts/        # App layouts (Default, Blank)\n│   ├── router/         # Vue Router configuration\n│   ├── services/       # API services (Supabase)\n│   ├── stores/         # Pinia state stores\n│   ├── types/          # TypeScript type definitions\n│   ├── utils/          # Helper functions\n│   └── views/          # Page views (Auth, Dashboard)\n├── tests/              # Unit tests\n├── .env.example        # Environment variables template\n├── index.html          # Entry HTML file\n├── package.json        # Project dependencies and scripts\n├── tailwind.config.js  # Tailwind CSS configuration\n└── vite.config.ts      # Vite configuration\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuradet-ps%2Fmedsup-dash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuradet-ps%2Fmedsup-dash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuradet-ps%2Fmedsup-dash/lists"}