=== Habitune ===
Contributors: habitpress
Tags: habit tracker, habits, streaks, productivity, heatmap
Requires at least: 5.9
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Give every member a private habit tracker — check-off, count and time-based habits with flexible scheduling, streaks and a 52-week heatmap.

== Description ==

Habitune turns any WordPress site into a personal habit tracker for your logged-in members. Each member gets their own private, full-screen dashboard behind two simple shortcodes — and their data stays in their own WordPress account, on the site they already trust. No third-party account, and **no external services**: Habitune Lite makes no outbound HTTP requests at all.

**What members can do**

* Create, complete, edit and delete habits — simple check-off, count-based (e.g. read 20 pages) or time-based (e.g. meditate 30 min).
* Schedule habits every day, on specific weekdays, or X times per week.
* Build streaks and see a responsive activity heatmap (up to 52 weeks on wide screens) with per-day tooltips.
* View analytics — longest streak, best week, a weekly-completion chart and a habit-category breakdown.
* Log a daily mood check-in and review a 14-day mood history in their analytics.
* Manage their profile (name, email, password, avatar) and download their own data as a JSON backup.
* Use the app in their preferred UI language.

**What site owners get**

* A clean wp-admin "Habitune" dashboard with real, aggregated numbers across all members, and a Subscribers view of each member's real habits and activity.
* A branded login page (via the `[habitune_login]` shortcode) built on WordPress's own secure login. Sign-in and account creation use WordPress core — members register through the standard WordPress registration when you enable Settings → General → "Anyone can register".
* Edit any member's profile and export your whole subscriber list to CSV.
* Editable member-facing wording and week-start day — all from wp-admin.
* Every member's data is private to them, stored in their own user account. No custom database tables.

**Privacy first**

Habitune Lite loads its fonts locally (no Google Fonts / external CDN) and contacts no third-party service, so no visitor or member data ever leaves your server. It also registers with WordPress core's privacy tools, so a member's habit data can be exported and erased from **Tools → Export/Erase Personal Data**, and it adds suggested text to **Settings → Privacy**.

**Habitune Pro**

Need more? [Habitune Pro](https://habitpress.fit) is a separate plugin that adds a wellness suite (water and sleep logging, with a sleep panel in the admin), a live weather card and prayer times, a bilingual (English/Bangla) exercise guide, daily notes, daily and weekly email digests, verified-member badges, and deeper analytics. Habitune Lite is fully functional on its own and always free — Pro is optional.

**Requirements**

* WordPress 5.9 or newer — tested up to WordPress 7.0.
* PHP 7.4 or newer — tested up to PHP 8.5. No deprecated or removed PHP APIs are used, so the plugin runs clean on every release in that range.
* No database tables, no external services, and no PHP extensions beyond what WordPress itself requires (GD or Imagick, already needed by core for image uploads).

== Installation ==

1. Install and activate Habitune (Plugins → Add New → search "Habitune", or upload the zip).
2. Create a page called "Habits" and add the shortcode: `[habitune]`
3. Create a page called "Login" and add the shortcode: `[habitune_login]`
4. Go to **Habitune → Settings → Pages** and pick your Login and Dashboard pages.
5. Use a full-width, no-sidebar page template for both pages if your theme has one — the app is a full-screen experience by design.
6. To let visitors create their own accounts, enable **Settings → General → "Anyone can register"** (with the new-user default role set to Subscriber). Members then sign in on your Login page through WordPress's standard login and registration.

== Frequently Asked Questions ==

= Does Habitune send any data to third parties? =

No. Habitune Lite makes no external HTTP requests and bundles its own fonts. All member data is stored in that member's own WordPress user account on your server.

= Who can see a member's habit data? =

Only that member and site administrators. Data is stored per-user in user meta; there is no shared table.

= Is it GDPR-friendly? =

Yes. Habitune registers a personal-data exporter and eraser with WordPress core (Tools → Export/Erase Personal Data) and adds suggested privacy-policy text under Settings → Privacy. Because it makes no external calls, no personal data is transmitted off-site.

= Do I need Habitune Pro? =

No. Lite is a complete habit tracker — including a daily mood check-in. Pro adds optional water &amp; sleep tracking, email digests and more; see [habitpress.fit](https://habitpress.fit).

= How do members sign in and register? =

Sign-in and account creation are handled by WordPress itself. The `[habitune_login]` page shows WordPress's own login form, and — when you enable **Settings → General → "Anyone can register"** — a link to WordPress's standard registration. Habitune adds no login or account-creation code of its own, so your site's existing security and login-limiting plugins apply as usual.

= What are the profile photo limits? =

JPG or PNG, up to 200 KB. Uploads are checked against their actual file contents rather than the name or the browser-supplied type, and every accepted image is re-encoded on the server — so anything hidden inside an otherwise valid image file is discarded rather than stored. Photo metadata (including GPS coordinates) is stripped in the same step.

= What are the password requirements? =

At least 8 characters with an uppercase letter, a lowercase letter, a number and a symbol. Passwords that contain the member's own name or email address are rejected. The sign-up form shows a live checklist as they type.

= Can I change the wording members see? =

Yes — most member-facing text is editable from Habitune → Settings → Content.

== Screenshots ==

1. The member dashboard — today's habits, streaks and progress.
2. Analytics — weekly completion, category breakdown and the activity heatmap.
3. The built-in login / sign-up page.
4. The wp-admin Habitune dashboard for site owners.

== Changelog ==

= 1.0.0 =
* Initial public release of Habitune on WordPress.org.
* Compatibility: requires WordPress 5.9+ and PHP 7.4+; tested up to WordPress 7.0 and PHP 8.5.
* Habit engine: check-off, count and time-based habits with daily / weekday / X-per-week scheduling, edit and delete.
* Streaks and a responsive 52-week activity heatmap.
* Strong-password rules with a live checklist when a member sets a new password from their in-app profile.
* Profile photos limited to JPG/PNG under 200 KB, validated by file contents and re-encoded server-side.
* Today page laid out as a card grid — a clock card with a mini month calendar, plus cards for day streak, habits done, best streak, this week, active habits and daily inspiration. Each card can be shown, hidden and resized from Settings → Widget Settings.
* Member analytics: longest streak, best week, weekly-completion chart and category breakdown.
* Profile page with a hero identity card, an avatar level ring that grows with the longest streak, lifetime stats, an activity calendar and milestones.
* Login page (`[habitune_login]`) built on WordPress core's own login and registration — no custom authentication.
* Avatar upload and a one-click JSON download of a member's own data.
* wp-admin dashboard with real aggregated stats and a Subscribers view.
* Fonts bundled locally — no Google Fonts, no external requests.
* GDPR: personal-data exporter + eraser and suggested privacy-policy content.

== Upgrade Notice ==

= 1.0.0 =
First release of Habitune on WordPress.org. Requires WordPress 5.9+ and PHP 7.4+; tested up to WordPress 7.0 and PHP 8.5.
