{"id":13809187,"url":"https://github.com/athul/jimbru","last_synced_at":"2025-04-14T16:21:07.242Z","repository":{"id":50740411,"uuid":"312074644","full_name":"athul/jimbru","owner":"athul","description":"A lightweight analytics server with FastAPI and deta.sh Base as DB. A glorified hit-counter of sorts 😁","archived":false,"fork":false,"pushed_at":"2021-08-15T08:42:14.000Z","size":67,"stargazers_count":43,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T05:05:17.165Z","etag":null,"topics":["analytics","deta","fastapi","nosql","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/athul.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}},"created_at":"2020-11-11T19:52:42.000Z","updated_at":"2024-06-08T00:39:35.000Z","dependencies_parsed_at":"2022-09-05T01:40:13.330Z","dependency_job_id":null,"html_url":"https://github.com/athul/jimbru","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athul%2Fjimbru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athul%2Fjimbru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athul%2Fjimbru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/athul%2Fjimbru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/athul","download_url":"https://codeload.github.com/athul/jimbru/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248914127,"owners_count":21182360,"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":["analytics","deta","fastapi","nosql","python"],"created_at":"2024-08-04T01:02:05.593Z","updated_at":"2025-04-14T16:21:07.217Z","avatar_url":"https://github.com/athul.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# IMPORTANT: There seems to be an error in deploying this, planning for a rewrite of the whole.\n\n# Jimbru\n\nJimbru is an Privacy Oriented web analytics Server which is built with FastAPI and Deta Base as DB.\n\n\u003e Jimbru is heavily inspired by [Shynet](https://github.com/milesmcc/shynet) which is also an Analytics server built with Django.\n\n\n**Not for Production Level use. It's hacky to the core. I made it for a Personal Use and doesn't have any fancy features.**\n\n\n## Features\n\n- Lightweight\n- Privacy Oriented\n- Easily Deployable (on deta.sh)\n- 6 lines of JS code gets the current URL, referrer and load time.\n- Charts with [Frappe Charts](https://frappe.io/charts) 📊\n- Jinja2 Templating and Tailwind CSS for Frontend\n- Cookie based Authentication\n- User OS and device from `user-agent` header\n- user location and network from user ip header\n\n## Not Included Features\n- Caching\n- Bounce rate\n- Session Time\n- Unique Hits\n\n## Demo\n\n![Demo Gif](https://user-images.githubusercontent.com/40897573/99864902-1fb1c980-2bcc-11eb-81e6-49380d36d263.gif)\n\n## Deploying\n\nBefore deploying you need to get some Credentials\n\n### Prep Work\n- Signup for an account in https://deta.sh\n- Create a new Project \n- Get the Project Key and save it in the `.env` file as below\n- [Install](https://docs.deta.sh/docs/cli/install) the Deta cli. This is for deploying to Deta.\n- Create a `.env` file inside the `app/routes` directory with the following keys\n\n    ```env\n    TITLE=\u003ctitle of the site\u003e\n    DOMAIN=\u003cdomain of the deployed server\u003e\n    PKEY=\u003cDeta Project Key\u003e\n    PNAME=\u003cDeta Base DB Name\u003e\n    SECRET_JWT=\u003cSecret for JWT. Get than with→ import os; print(os.urandom(24).hex())\u003e\n    USERNAME=\u003cusername for authenticating\u003e\n    PASSWORD=\u003cpassword for authenticating\u003e\n    ```\n\n\u003e The `PNAME` can be anything.\n\n---\n\n1. Fork/Clone this Repository\n2. You can run the code locally by installing the dependencies inside the `app` directory and running `uvicorn main:app --reload` inside the `app` directory.\n3. Inside the `app` directory you can create a new [Micro](https://docs.deta.sh/docs/micros/about) with `$ deta new`. This will create a new Micro. You will get the domian from the output of the command. Save that domain in the `DOMAIN` key in the `.env` file, without a trailing `/`.\n4. Run `$ deta update -e routes/.env` to update the environment variables in the micro.\n5. Run `$ deta deploy` inside the app directory and the code will be deployed.\n6. Profit\n\n---\n\n## Usage\n\nAdd a `\u003cscript\u003e` tag for the site\n\n```html\n\u003cscript src=\"https://\u003cDOMAIN\u003e/a.js\" type=\"text/javascript\"\u003e\u003c/script\u003e\n```\n\n## TODO\n\n- [ ] Caching\n- [ ] Better Auth\n- [ ] Session Time\n\n## LICENSE\n\n**MIT**\n\n## Contributors\n\n- [@akhilmhdh](https://github.com/akhilmhdh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathul%2Fjimbru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fathul%2Fjimbru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathul%2Fjimbru/lists"}