Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
34f16c4
Adding some boilerplate
polivera Dec 14, 2025
48b7b05
How to DDD on pythong (needs modifications)
polivera Dec 14, 2025
f2151a8
Working on DDD and dependency injection (kind of)
polivera Dec 14, 2025
7af9a11
Start working on login
polivera Dec 21, 2025
9747c02
Working on auth throttling
polivera Dec 21, 2025
c257305
Building login with DDD
polivera Dec 21, 2025
50f320b
Working on login
polivera Dec 22, 2025
c1c9842
Still working on login, coming to understand DDD flow within python
polivera Dec 22, 2025
86021ed
Working on session
polivera Dec 22, 2025
48ccc9e
Almost finish with login with throttle
polivera Dec 23, 2025
970d3ce
Start adding tests
polivera Dec 23, 2025
3b53b19
Almost finish with login
polivera Dec 23, 2025
a4dc2c8
Adding tests on login_handler
polivera Dec 23, 2025
71bb69d
Splitting test fixtures into separate folders
polivera Dec 23, 2025
09921ac
Adding login service tests (needs recheck)
polivera Dec 23, 2025
ad41e25
Adding integration tests
polivera Dec 25, 2025
7d369b6
Adding user account creation endpoint
polivera Dec 25, 2025
3b66823
User accounts functionality
polivera Dec 26, 2025
3ded16f
Fixing AI slop
polivera Dec 27, 2025
b789513
Fixing user_account functionality and code quality
polivera Dec 27, 2025
b602cf7
Credit card fixes
polivera Dec 27, 2025
8c87799
Finish with credit cards
polivera Dec 27, 2025
7785d32
Start working on household
polivera Dec 27, 2025
4cf60a5
Fixes on deleted_at for all models and working on household invitation
polivera Dec 28, 2025
c4aeb33
Prototyping household invitation system
polivera Dec 28, 2025
8555e83
Working on household invitation system
polivera Dec 28, 2025
97addc2
Vibe coding tests (need to check validity)
polivera Dec 28, 2025
d9be18c
DDD Fixes on user context
polivera Dec 29, 2025
90f2fa8
Adding more seeds
polivera Dec 29, 2025
6db90a1
Adding unit tests for household
polivera Dec 29, 2025
c651f4b
Adding github actions for unit and integration tests
polivera Dec 29, 2025
97b8b5f
Attempt to fix action config file
polivera Dec 29, 2025
48e6061
Fixes on github actions for integration tests
polivera Dec 29, 2025
6aa8173
Updating github action triggers
polivera Dec 29, 2025
c8876e3
Fixing auth unit tests and integration tests
polivera Dec 29, 2025
95df107
Fixing integration test configuration
polivera Dec 29, 2025
209dfd3
Fixing integration tests
polivera Dec 29, 2025
c1c4cf6
Another fix for integration tests
polivera Dec 29, 2025
9eecadf
Fixing linting issues and add linting to github actions
polivera Dec 29, 2025
61160be
Adding ruf as dev dependency
polivera Dec 29, 2025
37c1571
Format fixes
polivera Dec 29, 2025
21b73a7
run integration only if lint and unit pass
polivera Dec 29, 2025
dd08f7c
Trying to finish household functionality
polivera Dec 30, 2025
2411d6d
Adding logging with loki
polivera Dec 30, 2025
52a83e5
Fix linting
polivera Dec 30, 2025
b0c3beb
Adding logs to user_account context
polivera Dec 30, 2025
f1a134b
Adding logs to credit cards
polivera Dec 30, 2025
db20897
Adding logs to household context
polivera Dec 30, 2025
e437004
Update loki and grafana versions
polivera Dec 30, 2025
323d48d
Normalize environment check
polivera Dec 30, 2025
0fc4d10
Start working on entry context
polivera Dec 31, 2025
d1c213e
Fixes on entry context
polivera Dec 31, 2025
e9958c8
Adding entry tests
polivera Dec 31, 2025
53b04a6
Fixes on entry domain
polivera Dec 31, 2025
887c1a5
Fix unit tests and file format errors
polivera Dec 31, 2025
779c8ba
Working on reminders context
polivera Jan 1, 2026
e6027e7
Working on reminder context
polivera Jan 2, 2026
eeb1de4
update readme
polivera Jan 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
132 changes: 132 additions & 0 deletions .claude/CLAUDE.local.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Personal Development Preferences

This file is for YOUR personal preferences when working on this project.
It's automatically gitignored, so your teammates won't see these.

## My Preferred Patterns

### Error Messages

I prefer verbose error messages during development:

```python
# Instead of:
raise ValueError("Invalid email")

# I prefer:
raise ValueError(
f"Invalid email format: '{self.value}'. "
f"Expected format: user@domain.com"
)
```

### Logging

Add debug logging to all service methods:

```python
import logging

logger = logging.getLogger(__name__)

async def login(self, email: Email, password: Password) -> LoginResult:
logger.debug(f"Attempting login for email: {email.value}")
# ... implementation
logger.debug(f"Login successful for email: {email.value}")
```

### Test Data

When creating test fixtures, I prefer these test users:

```python
TEST_USER_EMAIL = "pablo.test@homecomp.dev"
TEST_USER_PASSWORD = "TestPass123!"
```

## My Development Workflow

### Before Starting Work

1. Pull latest changes from `dev` branch
2. Run `just migrate` to ensure DB is up to date
3. Check `docker-compose ps` to verify PostgreSQL is running

### Before Committing

1. Run tests (when test suite exists)
2. Run linter/formatter
3. Review the diff

### Commit Message Style

I prefer conventional commits format:

```
feat(auth): add login throttling service
fix(user): correct email validation regex
refactor(shared): extract password hashing to value object
test(auth): add login service unit tests
```

## Code Review Preferences

When reviewing my code:

- Flag any missing type hints
- Check for proper use of value objects (no raw strings/ints)
- Verify async/await usage
- Ensure repositories return DTOs, not models
- Look for potential N+1 query issues

## Quick Commands I Use

```bash
# Start everything
docker-compose up -d && just run

# Reset database (DESTRUCTIVE!)
docker-compose down -v && docker-compose up -d && just migrate

# Check recent migrations
uv run alembic history | head -n 5

# Database shell
just pgcli
```

## Import Aliases I Like

```python
# Shared value objects
from app.shared.domain.value_objects.shared_email import Email as SharedEmail
from app.shared.domain.value_objects.shared_password import Password as SharedPassword

# Context-specific (when importing across contexts)
from app.context.user.domain.value_objects.user_id import UserID
from app.context.user.domain.dto.user_dto import UserDTO
```

## Notes to Self

- Remember to update CLAUDE.md if architectural patterns change
- Keep `/docs/login-throttle-implementation.md` updated
- Consider adding OpenAPI tags to routes for better docs organization
- Eventually add health check endpoint
- Set up CI/CD when ready

## Personal Testing Preferences

- Always test the happy path first
- Then test validation failures
- Then test edge cases
- Mock at the contract level, never the implementation

## Documentation Standards

When adding new features:

1. Update CLAUDE.md if it affects architecture
2. Add inline comments only for non-obvious business logic
3. Update API docs if adding/changing endpoints
4. Consider adding examples to `/docs/` for complex features
Loading