{"id":27455560,"url":"https://github.com/seasonedcc/flashboard-demo","last_synced_at":"2026-04-19T03:02:04.124Z","repository":{"id":287964544,"uuid":"962145792","full_name":"seasonedcc/flashboard-demo","owner":"seasonedcc","description":"This is a naive e-commerce to showcase how to manage a production-like database in Flashboard","archived":false,"fork":false,"pushed_at":"2025-04-24T15:59:54.000Z","size":9585,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-03T17:41:09.399Z","etag":null,"topics":["cms","flashboard","kysely","postgresql"],"latest_commit_sha":null,"homepage":"https://demo.getflashboard.com","language":"TypeScript","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/seasonedcc.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-04-07T18:07:01.000Z","updated_at":"2025-04-24T15:59:57.000Z","dependencies_parsed_at":"2025-04-24T16:58:00.587Z","dependency_job_id":null,"html_url":"https://github.com/seasonedcc/flashboard-demo","commit_stats":null,"previous_names":["seasonedcc/flashboard-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seasonedcc/flashboard-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonedcc%2Fflashboard-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonedcc%2Fflashboard-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonedcc%2Fflashboard-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonedcc%2Fflashboard-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seasonedcc","download_url":"https://codeload.github.com/seasonedcc/flashboard-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonedcc%2Fflashboard-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31992822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":["cms","flashboard","kysely","postgresql"],"created_at":"2025-04-15T16:44:05.891Z","updated_at":"2026-04-19T03:02:04.045Z","avatar_url":"https://github.com/seasonedcc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flashboard Demo Store\n\nThis open-source project demonstrates integrating [Flashboard](https://www.getflashboard.com) into a modern React stack. It showcases a naive e-commerce experience using Flashboard as a CMS and an admin panel. You can go to Flashboard and create a DEMO panel, which is used in this demo's [live version](https://demo.getflashboard.com).\n\n---\n\n## 🚀 Getting Started\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/seasonedcc/flashboard-demo.git\ncd flashboard-demo\n```\n\n### 2. Install Dependencies\n\n```bash\npnpm install\n```\n\n### 3. Configure Environment Variables\n\n```bash\ncp .env.sample .env\n```\n\nEdit the `.env` file to include your credentials:\n\n- **S3 Configuration**:\n  - `S3_ENDPOINT`\n  - `S3_REGION`\n  - `S3_ACCESS_KEY`\n  - `S3_SECRET_KEY`\n  - `S3_BUCKET_NAME`\n\n  These credentials can be obtained from providers like [Supabase Storage](https://supabase.com/docs/guides/storage), [Amazon S3](https://aws.amazon.com/s3/), or [DigitalOcean Spaces](https://www.digitalocean.com/products/spaces).\n\n- **Bucket Configuration**:\n  Please make sure you create the `flashboard-demo-secure` bucket or change the name of the bucket of your choice in the `.env` file.\nThis bucket will be used to upload the seed images.\n\n- **PostgreSQL Configuration**:\n  - `DATABASE_URL=postgres://user:password@localhost:5432/flashboard_demo`\n\n  Ensure you've created a PostgreSQL database named `flashboard_demo` before proceeding.\n\n### 4. Run Migrations and Seed the Database\n\n```bash\npnpm run db:migrate\npnpm run db:seed\n```\nThe seed will take a while to run, as it will upload images to the S3 bucket you configured in the previous step.\n\n### 5. Start the Development Server\n\n```bash\npnpm run dev\n```\n\nThe application will be accessible at `http://localhost:5173`.\n\n---\n\n## 🧠 Exploring the Codebase\n\nThe primary goal of this repository is to illustrate how Flashboard can be integrated into your stack.\n\n### Key Directories\n\n- **`app/business/`**: This folder likely houses all the business logic, so you want to investigate it.\n- **`app/routes/`**: Contains route loaders and actions, showcasing data fetching and mutations using React Router v7.\n- **`app/services/flashboard.server.ts`**: Illustrates how to fetch and display the images uploaded through Flashboard to your storage provider.\n- **`app/db/`**: Contains database infrastructure, including Kysely setup, migration scripts, and connection configurations. You might want to investigate the migrations to see how we shaped the database to better work with Flashboard. The blog_posts table highlights some interesting features. You can overlook the scripts in this folder, they are rather complex and are out of scope for this demo.\n\n### References to libraries used in this repo\n\n- [Zod](https://zod.dev/)\n- [Composable Functions](https://github.com/seasonedcc/composable-functions)\n- [Kysely](https://github.com/kysely-org/kysely)\n- [Tailwind CSS](https://tailwindcss.com/)\n\nThe codebase includes comments to guide you through the implementation details.\n\n---\n\n## 📚 Learn More About Flashboard\n\n- [Flashboard](https://www.getflashboard.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseasonedcc%2Fflashboard-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseasonedcc%2Fflashboard-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseasonedcc%2Fflashboard-demo/lists"}