{"id":13903181,"url":"https://github.com/lane711/sonicjs","last_synced_at":"2025-07-18T00:33:38.147Z","repository":{"id":37735273,"uuid":"144910756","full_name":"lane711/sonicjs","owner":"lane711","description":"SonicJs Headless CMS - Blazing Fast Headless CMS built on Cloudflare Workers. 100% Javascript Based","archived":false,"fork":false,"pushed_at":"2024-08-29T22:01:17.000Z","size":119705,"stargazers_count":821,"open_issues_count":33,"forks_count":114,"subscribers_count":24,"default_branch":"main","last_synced_at":"2024-08-30T00:00:05.537Z","etag":null,"topics":["api-framework","cloudfl","cloudflare-kv","cloudflare-workers","cms","cms-framework","headless-cms","javascript","mongodb","nodejs","rest-api"],"latest_commit_sha":null,"homepage":"https://sonicjs.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/lane711.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}},"created_at":"2018-08-15T22:49:14.000Z","updated_at":"2024-08-29T22:01:20.000Z","dependencies_parsed_at":"2024-01-04T21:29:18.942Z","dependency_job_id":"a234271c-2fec-46d4-8829-b8a7ac8de6a4","html_url":"https://github.com/lane711/sonicjs","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lane711%2Fsonicjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lane711%2Fsonicjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lane711%2Fsonicjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lane711%2Fsonicjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lane711","download_url":"https://codeload.github.com/lane711/sonicjs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226320932,"owners_count":17606378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api-framework","cloudfl","cloudflare-kv","cloudflare-workers","cms","cms-framework","headless-cms","javascript","mongodb","nodejs","rest-api"],"created_at":"2024-08-06T22:01:45.773Z","updated_at":"2025-07-18T00:33:38.127Z","avatar_url":"https://github.com/lane711.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","rest-api"],"sub_categories":[],"readme":"# SonicJs Headless CMS\n\n## Overview\n\n🚀🚀🚀 **SonicJs is the Fastest Headless CMS / API Framework in the World** 🚀🚀🚀\n\nIt is capable of delivering API requests anywhere in the world in under 100 milliseconds in most cases.\n\nThis results in extremely fast page/app loads for end users.\n\nBuilt on Astro and optimized for Cloudflare, SonicJs is a headless CMS that offers a flexible and scalable content management solution, utilizing the latest web technologies.\n\n## Dedicated Documentation Website\nRead the docs here [https://sonicjs.com](https://sonicjs.com])\n\n## How Fast is \"Blazingly\" Fast?\n\nDetails of our performance benchmark can be found at SonicJs.com. Here is a partial chart of our finding.\n\n| Platform      | Average Response Time | Difference |\n| ----------- | ----------- | ----------- |\n| Strapi      | 342.1ms       | - baseline - |\n| Node + Postgres   | 320.2ms        | 1.06x Faster|\n| SonicJs   | 52.7ms        | 6.4x Faster|\n\n\n## Features\n- **Extreme Performance**: By deploying your code and synchronizing your entire database across Cloudflare's vast edge network of over 200 nodes worldwide, SonicJs drastically reduces network latency.\n- **Auto-Generated CRUD Endpoints**: Define your data schmea and permission rules in code and SonicJs will automatically generate the associated endpoints at runtime (not using code generation like other tools)\n- **Admin UI**: Manage all data from the dynamic administrative console. This includes the ability to search and sort, edit, create new records, etc.\n- **Built on Astro**: The Admin UI leverages the power of Astro for fast and optimized static site generation. You can also build you website/app on top on this repo for a single front end/back end/API deployment.\n- **Cloudflare Integration**: Runs seamlessly on Cloudflare for enhanced performance and security. Cloudflare offers a generous free hosting plan with paid versions starting a $5/month.\n- **Tailwind CSS**: Utilizes Tailwind CSS for rapid UI development.\n- **Secure Authentication**: Implements secure authentication mechanisms using `@node-rs/argon2` and other crypto libraries.\n- **Database Management**: Uses Drizzle ORM for database interactions and migrations.\n- **User Management**: Manage user account data including roles from the UI.\n- **Authentication**: Manage user registration/login from your app with the built in API endpoints.\n\n\n# Getting Started\n\n## Prerequisites\n1. You will need a free Cloudflare account: [https://dash.cloudflare.com/sign-up](https://dash.cloudflare.com/sign-up)\n\n## Installation\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/lane711/sonicjs.git\n   cd sonicjs\n   npm install\n   ```\n1. Create your own wrangler.toml (Cloudflare configuration file) using the example:\n   ```sh\n   cp wrangler.example.toml wrangler.toml\n   ```\n   \n1. Create your Cloudflare D1 database with the following command:\n   ```sh\n   npx wrangler d1 create sonicjs\n   ```\n   You will be prompted to login to your Cloudflare account, follow the prompts.\n   \n   The output of the above command will include a database id, **copy it to your clipboard**.\n   \u003cbr\u003e\n2. Update your `wrangler.toml` file to include the datbase id from step #3. It should look something like this:\n   ```sh\n   [[d1_databases]]\n   binding = \"D1\"\n   database_name = \"sonicjs\"\n   database_id = \"ba4f63aa-161d-4d12-aca7-b59761701871\"\n   ```\n1. Apply the default database schema to your database:\n   ```sh\n   npm run up\n   ```\n2. Run the app:\n   ```sh\n   npm run dev\n   ```\n3. Visit the Admin UI in your browser:\n   [http://localhost:4321](http://localhost:4321)\n   ![Admin UI](https://sonicjs.com/images/sonicJs-admin-ui.png)\n\n## Need Help?\n1. Reach out on [Disocrd](https://discord.gg/8bMy6bv3sZ)\n2. Open a [ticket in Github](https://github.com/lane711/sonicjs/issues)\n\n\n## Contributions\nWe gladly accept Pull Requests (PRs) from the community.\n\n## Road Map\nCurious what's on the horizon for SonicJs? Check out our [Project Backlog](https://github.com/users/lane711/projects/2).\n\nWhile you're there, please consider picking up a story in the backlog. \n\n## Licensing (MIT)\nThis project is licensed under the MIT License. This means you are free to use, modify, and distribute this software under the  conditions specified.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flane711%2Fsonicjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flane711%2Fsonicjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flane711%2Fsonicjs/lists"}