diff --git a/CLAUDE.md b/CLAUDE.md index dc308cb..731aeb5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,18 +1,22 @@ -# FrogStats Code Guidelines +# Rybbit Code Guidelines ## Commands + ### Client (Next.js) + - Build: `npm run build` - Dev: `npm run dev` (port 3002 with turbopack) - Lint: `npm run lint` - Start: `npm run start` (port 3002) ### Server + - Build: `npm run build` - Dev: `npm run dev` (builds and runs) - DB: `npm run db:generate|migrate|push|pull|check|drop` ## Code Style + - **TypeScript**: Strict typing, interfaces for API/props - **React**: Functional components, Tanstack Query, Zustand - **Formatting**: Arrow functions, async/await, named exports @@ -22,4 +26,4 @@ - **Documentation**: JSDoc for utilities, descriptive function names - **Theme**: Dark mode by default -FrogStats is a self-hostable open source Google Analytics alternative. \ No newline at end of file +Rybbit is a self-hostable open source Google Analytics alternative. diff --git a/client/public/frog.png b/client/public/frog.png new file mode 100644 index 0000000..c25f0e9 Binary files /dev/null and b/client/public/frog.png differ diff --git a/client/src/app/components/CreateOrganizationDialog.tsx b/client/src/app/components/CreateOrganizationDialog.tsx index af7c105..1f00c43 100644 --- a/client/src/app/components/CreateOrganizationDialog.tsx +++ b/client/src/app/components/CreateOrganizationDialog.tsx @@ -107,7 +107,7 @@ export function CreateOrganizationDialog({ Create Your Organization - Set up your organization to get started with Frogstats + Set up your organization to get started with Rybbit
@@ -147,7 +147,7 @@ export function CreateOrganizationDialog({ required />

- This will be used in your URL: frogstats.io/{slug} + This will be used in your URL: rybbit.io/{slug}

diff --git a/client/src/app/layout.tsx b/client/src/app/layout.tsx index 3a155fa..93bde29 100644 --- a/client/src/app/layout.tsx +++ b/client/src/app/layout.tsx @@ -13,10 +13,6 @@ import "./globals.css"; const inter = Inter({ subsets: ["latin"] }); -const metadata: Metadata = { - title: "Frogstats Analytics", - description: "Analytics dashboard for your web applications", -}; const publicRoutes = ["/login", "/signup"]; // Helper function to check if a site is public diff --git a/client/src/components/MobileSidebar.tsx b/client/src/components/MobileSidebar.tsx index 1813595..c6842a3 100644 --- a/client/src/components/MobileSidebar.tsx +++ b/client/src/components/MobileSidebar.tsx @@ -29,7 +29,7 @@ export function MobileSidebar() { - Frogstats Sidebar + Rybbit Sidebar diff --git a/client/src/components/TopBar.tsx b/client/src/components/TopBar.tsx index 573fe62..dd304d9 100644 --- a/client/src/components/TopBar.tsx +++ b/client/src/components/TopBar.tsx @@ -23,7 +23,7 @@ export function TopBar() {
- 🐸 Frogstats + 🐸 Rybbit
{session.data ? ( diff --git a/docs/src/content/_meta.js b/docs/src/content/_meta.js index b8d4454..dfd900a 100644 --- a/docs/src/content/_meta.js +++ b/docs/src/content/_meta.js @@ -4,4 +4,5 @@ export default { features: "", themes: "", advanced: "", + usage: "", }; diff --git a/docs/src/content/index.mdx b/docs/src/content/index.mdx index ac8a8b1..d247d75 100644 --- a/docs/src/content/index.mdx +++ b/docs/src/content/index.mdx @@ -2,7 +2,7 @@ import { Bleed } from 'nextra/components' # Introduction -**Frogstats** is an open source web and products analytics platform. Check out our [live demo](https://tracking.tomato.gg) using a real production site that sends over **10,000,000** events a month. +**Rybbit** is an open source web and products analytics platform. Check out our [live demo](https://tracking.tomato.gg) using a real production site that sends over **10,000,000** events a month. ### Key Features @@ -12,6 +12,11 @@ import { Bleed } from 'nextra/components' - Support for organizations - Advanced product analytics like funnels, user retention, user journeys, and custom reports -You can either self-host Frogstats, or use our hosted cloud version. +## Getting Started -![Nextra Example](/demo.png) +Choose the option that's right for you: + +- **Cloud Version:** Sign up for the hosted version at [rybbit.io/signup](https://rybbit.io/signup). Get up and running in minutes. +- **Self-Host:** Follow our [Self-Hosting Guide](./self-hosting) to set up Rybbit on your own server. + +![Nextra Example](/demo.png) \ No newline at end of file diff --git a/docs/src/content/self-hosting.mdx b/docs/src/content/self-hosting.mdx index 0b05b48..1844319 100644 --- a/docs/src/content/self-hosting.mdx +++ b/docs/src/content/self-hosting.mdx @@ -1,9 +1,9 @@ import { Steps } from 'nextra/components' import { Callout } from 'nextra/components' -# Self Hosting Frogstats +# Self Hosting -This guide will walk you through setting up your own instance of Frogstats. +This guide will walk you through setting up your own instance of Rybbit. ## Prerequisites @@ -21,29 +21,35 @@ Before you begin, ensure you have the following: ## Setup Steps -### 1. Install Docker and Git +### 1. Point Your Domain to Your VPS -First, connect to your VPS via SSH. +Configure your domain's DNS settings to point to your VPS's public IP address. This usually involves: -**Install Docker Engine:** Follow the official instructions for your Linux distribution: +1. Finding your VPS's public IPv4 address (from your hosting provider, e.g., Hetzner). +2. Logging into your domain registrar or DNS provider (e.g., GoDaddy, Namecheap, Cloudflare). +3. Adding an `A` record: + * **Host/Name:** Your desired subdomain (e.g., `tracking`) or `@` for the root domain. + * **Value:** Your VPS's IPv4 address. + * **TTL:** Default or a low value (e.g., 300 seconds) for faster updates. + +DNS changes might take some time to propagate globally. Use [DNS Checker](https://dnschecker.org/) to verify. + +### 2. Install Docker Engine + +Connect to your VPS via SSH. + +Follow the official Docker Engine installation instructions for your Linux distribution: [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) -Make sure to complete the [post-installation steps for Linux](https://docs.docker.com/engine/install/linux-postinstall/) as well, particularly adding your user to the `docker` group so you don't have to use `sudo` for every Docker command. +### 3. Clone the Rybbit Repository -**Install Git:** If Git is not already installed, install it using your distribution's package manager. For Debian/Ubuntu: +Clone the project repository from GitHub (Git is usually pre-installed on most server distributions): ```bash -sudo apt update && sudo apt install -y git +git clone https://github.com/goldflag/rybbit.git +cd Rybbit ``` -### 2. Clone the Frogstats Repository - -Clone the project repository from GitHub: -```bash -git clone https://github.com/goldflag/frogstats.git -cd frogstats -``` - -### 3. Run the Setup Script +### 4. Run the Setup Script The repository includes a setup script that configures the necessary environment variables (including generating a secure secret) and starts the application using Docker Compose. @@ -55,9 +61,9 @@ chmod +x setup.sh The script will create a `.env` file and then build and start the containers. This might take a few minutes the first time. -### 4. Sign Up +### 5. Sign Up -Once the services are running, Caddy (the webserver) will automatically obtain an SSL certificate for your domain. +Once the services are running and DNS has propagated, Caddy (the webserver) will automatically obtain an SSL certificate for your domain. Open your browser and navigate to `https://your.domain.name/signup` (using the domain you provided to the setup script). @@ -65,4 +71,6 @@ Create your admin account. You can then log in and start adding your websites! -Congratulations! You have successfully self-hosted Frogstats. +Congratulations! You have successfully self-hosted Rybbit. + +If you run into any issues or need help, feel free to join our Discord community! diff --git a/docs/src/content/usage.mdx b/docs/src/content/usage.mdx new file mode 100644 index 0000000..e69de29 diff --git a/mockdata/README.md b/mockdata/README.md index 79778b1..f940e8b 100644 --- a/mockdata/README.md +++ b/mockdata/README.md @@ -1,6 +1,6 @@ -# E-commerce Mock Data Generator for Frogstats +# E-commerce Mock Data Generator for Rybbit -This script generates realistic mock analytics data for Frogstats, simulating user behavior on an e-commerce website called ShopEase. +This script generates realistic mock analytics data for Rybbit, simulating user behavior on an e-commerce website called ShopEase. ## Features diff --git a/server/public/example.html b/server/public/example.html index d04bd5d..d7fed2a 100644 --- a/server/public/example.html +++ b/server/public/example.html @@ -3,12 +3,12 @@ - Frogstats Analytics Example + Rybbit Analytics Example -

Frogstats Analytics Example

+

Rybbit Analytics Example

- @@ -19,7 +19,7 @@