mohd
5ece1036cd
feat: DB constraints for phone auth
2026-03-14 00:31:20 +03:00
mohd
4026b94c3a
feat: phone auth tests and fixes
2026-03-13 23:48:40 +03:00
mohd
5db211dda9
chore: less brittle tests
2026-03-13 23:26:09 +03:00
mohd
c0846fe096
test: added auth contract test
2026-03-13 20:36:47 +03:00
mohd
560460dd84
Fix OTP localization test expectation
2026-03-13 16:51:26 +03:00
mohd
c212acc504
Remove Authentica E2E test and expand OTP coverage
2026-03-13 16:49:29 +03:00
mohd
15ed5036d1
Remove dead Twilio tests and docs mentions
2026-03-13 16:46:21 +03:00
mohd
0c992404ea
chore: removed unused otp providers
2026-03-13 16:25:26 +03:00
mohd
d796d9e6a1
removed unviable e2e test
2026-03-13 16:21:25 +03:00
mohd
8018710d31
fix: use phone_number as USERNAME_FIELD on User model
...
- USERNAME_FIELD = "phone_number" (was "email") — email is optional on
this platform; most customers will be phone-only
- Add REQUIRED_FIELDS = [] to make the intent explicit
- Update create_superuser to accept phone_number as the identifier and
pass it through to create_user as a keyword argument
- All 35 backend tests pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 23:58:02 +03:00
mohd
828cbcc822
Authentica OTP tests
2026-02-28 17:31:03 +03:00
mohd
4253f6f650
Added Authentica OTP
2026-02-28 16:58:50 +03:00
mohd
a1da918f95
Enhance documentation, implement Twilio OTP delivery, and update payment gateway methods. Updated AGENTS.md and README.md for clarity on ExecPlans and architecture. Added Twilio as a dependency and implemented capture/refund methods in MoyasarGateway. Improved frontend routing with react-router-dom and added authentication context. Updated styles and localization files for better user experience.
2026-02-28 15:33:50 +03:00
mohd
d40bb10876
Updated PLANS.md, AGENTS.md, and arabic-localization.md to reflect the “foundations now, full translations later” approach and marked progress accordingly.
...
Implemented localization foundations across backend and frontend (locale settings/middleware, preferred language, i18n wiring, RTL support, minimal Arabic UI strings, Accept-Language).
Added targeted backend and frontend tests plus a risks note for pending full translation coverage.
2026-02-28 11:48:58 +03:00
mohd
be2590d7f7
Backend and frontend testing stacks (pytest + vitest) and a few initial tests.
2026-02-27 16:03:06 +03:00
mohd
46af911a06
I proceeded with Phase 1 step 1 (phone-first auth + OTP hardening) and updated the plan context. Here’s the current state and the next steps.
...
What I implemented
Phone-first auth endpoints with OTP → JWT issuance.
views.py
urls.py
Phone normalization (KSA-focused, E.164 or Saudi mobile) and validation.
phone.py
serializers.py
OTP protections: rate limit, resend cooldown, attempt counting.
otp.py
models.py
Email is now optional to allow phone-only users.
models.py
0002_phone_auth_fields.py
Admin OTP visibility improved.
admin.py
Risks updated.
risks.md
2026-02-27 15:57:09 +03:00
mohd
dc68ecfe4c
Summary of what I changed and added:
...
Added initial migrations for accounts, salons, bookings, payments.
0001_initial.py
0001_initial.py
0001_initial.py
0001_initial.py
Added demo seeding command.
seed_demo.py
OTP provider abstraction now includes Twilio + Unifonic adapter scaffolds (not implemented yet, they raise).
otp.py
Moyasar gateway scaffold added (not implemented yet, raises).
gateway.py
Added .env loading in settings and expanded .env.example for OTP and Moyasar.
settings.py
.env.example
Captured current gaps/risks in a tracked doc as requested.
risks.md
Updated README with seeding guidance and risk doc pointer.
README.md
2026-02-27 15:10:30 +03:00
mohd
fc06bb6fcd
Initial commit
2026-02-27 15:01:06 +03:00