{"id":31851714,"url":"https://github.com/zaxwebs/php-single-file-crud","last_synced_at":"2025-10-28T05:03:47.479Z","repository":{"id":311297928,"uuid":"1043169386","full_name":"zaxwebs/php-single-file-crud","owner":"zaxwebs","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-23T09:33:56.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-19T14:49:40.833Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/zaxwebs.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}},"created_at":"2025-08-23T09:31:39.000Z","updated_at":"2025-08-23T09:33:59.000Z","dependencies_parsed_at":"2025-08-24T04:42:08.497Z","dependency_job_id":"1492184c-6f47-4348-ae0a-9aa90a56079f","html_url":"https://github.com/zaxwebs/php-single-file-crud","commit_stats":null,"previous_names":["zaxwebs/php-single-file-crud"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zaxwebs/php-single-file-crud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaxwebs%2Fphp-single-file-crud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaxwebs%2Fphp-single-file-crud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaxwebs%2Fphp-single-file-crud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaxwebs%2Fphp-single-file-crud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zaxwebs","download_url":"https://codeload.github.com/zaxwebs/php-single-file-crud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaxwebs%2Fphp-single-file-crud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281386589,"owners_count":26492014,"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","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"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":[],"created_at":"2025-10-12T12:54:26.992Z","updated_at":"2025-10-28T05:03:47.473Z","avatar_url":"https://github.com/zaxwebs.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🗒️ Tiny Notes\n\nA single-file **PHP 8+** + **SQLite** + **Bootstrap 5** notes application.  \nIncludes:\n\n- User authentication (first registered user becomes admin)\n- CSRF protection\n- Secure sessions\n- Create / edit / delete notes (per-user)\n- Mobile-friendly Bootstrap UI\n- Zero dependencies (just PHP \u0026 SQLite)\n\n---\n\n## 🚀 Quick start\n\n1. Clone this repo:\n\n   ```bash\n   git clone https://github.com/yourname/tiny-notes.git\n   cd tiny-notes\n   ```\n\n2. Run with PHP’s built-in server:\n\n   ```bash\n   php -S 127.0.0.1:8000 index.php\n   ```\n\n3. Open \u003chttp://127.0.0.1:8000\u003e in your browser.\n\n4. The first visitor is prompted to **create an admin account**.  \n   After that, log in with those credentials.\n\n---\n\n## 📂 Project structure\n\n```\nindex.php   # Entire app (PHP + HTML + Bootstrap)\ndata/       # Created at runtime; contains app.sqlite database\n.gitignore  # Prevents committing database/session junk\nREADME.md   # This file\n```\n\n---\n\n## 🔒 Security notes\n\n- Sessions use `HttpOnly` + `SameSite=Lax`; cookies are `secure` if HTTPS.\n- CSRF tokens are required for all POST requests.\n- Database file (`data/app.sqlite`) is in `.gitignore` — never commit it.\n- For production on Apache or Nginx, block direct web access to `/data/`.\n\nExample `.htaccess` for Apache:\n\n```apache\n# Prevent access to the database directory\nRedirectMatch 403 ^/data/\n```\n\n---\n\n## 🛠️ Requirements\n\n- PHP 8.1 or higher\n- SQLite 3\n- A writable filesystem (for `data/`)\n\n---\n\n## ✨ Features roadmap (ideas)\n\n- Multi-user roles (admin vs. normal users)\n- Password reset / change password\n- Markdown rendering for note bodies\n- File attachments\n\n---\n\n## 📜 License\n\nMIT — do whatever you like, just don’t remove attribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaxwebs%2Fphp-single-file-crud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzaxwebs%2Fphp-single-file-crud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaxwebs%2Fphp-single-file-crud/lists"}