Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/user registration #85

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

Conversation

gsinghjay
Copy link
Owner

No description provided.

Add test coverage details and database setup guides for development and testing
- Added test mode check in rate limiter middleware
- Skip rate limiting when TESTING environment variable is set to '1'
- Removed mypy hook to fix type checking issues
- Will re-enable after fixing type hints
- Added pytest-postgresql configuration

- Created test database fixtures

- Added test environment setup
- Updated database URL configuration

- Fixed test assertions for PostgreSQL

- Added proper database cleanup in tests
- Fixed import path for _rate_limit_exceeded_handler
- Resolved test failures due to incorrect import
- Re-enabled mypy in pre-commit config

- Added proper type hints to all Python files

- Fixed return type annotations in routers and tests

- Added missing type hints in test fixtures

- Added type ignore for slowapi Limiter.hit method
- Add docker-compose test configuration with PostgreSQL service
- Configure pytest with coverage reporting
- Add coverage configuration
- Add test-specific Dockerfile with multi-stage builds
- Set up test environment variables

BREAKING CHANGE: Testing now requires Docker and docker-compose
- Add detailed instructions for running tests
- Document test environment setup
- Add debugging instructions
- Include common issues and solutions
- Document best practices for testing
- Add PostgreSQL test database configuration
- Implement database connection retry logic
- Add session fixtures for database testing
- Configure test client with database integration
- Add environment setup for testing
- Add user registration test cases with Protocol-based typing
- Add login flow test cases with proper type hints
- Add email verification tests
- Add input validation tests
- Add comprehensive docstrings to UserServiceProtocol
- Implement duck typing with documented Protocol methods
- Fix flake8-docstrings and MyPy errors
- Add Protocol usage and service patterns to STANDARDS.md
- Update CONTRIBUTING.md with PostgreSQL requirements
- Update README.md with new features and setup instructions
- Add comprehensive CI/CD workflow documentation
- Add type checking and database configuration details
- Update environment variables documentation

BREAKING CHANGE: PostgreSQL is now required for development and testing
- Add type-safe rate limit middleware
- Add custom rate limit handler with proper error responses
- Add proper docstrings following Google style
- Add test mode handling
- Add retry headers following RFC standards
- Add error type field for better client handling
- Fix UserService Protocol type hints
- Remove unused imports

BREAKING CHANGE: Rate limit responses now include type field and retry headers
- Add SQLAlchemy connection pooling
- Add database retry logic
- Add connection timeout settings
- Add timezone configuration
- Add Alembic migrations with proper documentation
- Add users table migration with auth support
- Configure database URL handling

BREAKING CHANGE: Database configuration now requires PostgreSQL
- Add security utilities for password hashing
- Add JWT token handling
- Add email verification utilities
- Add Pydantic schemas with validation
- Add type-safe schema models
- Add proper error handling

BREAKING CHANGE: Authentication now requires email verification
- Add UserServiceProtocol for type safety
- Add user model with SQLAlchemy types
- Add service methods with proper typing
- Add password reset functionality
- Add email verification logic
- Add role-based access control

BREAKING CHANGE: User service now follows Protocol pattern
- Add environment variable templates with PostgreSQL settings
- Add database performance tuning variables
- Add coverage configuration
- Update Poetry dependencies
- Update gitignore patterns for test artifacts
- Add testing environment settings

BREAKING CHANGE: Development environment now requires PostgreSQL configuration
@gsinghjay gsinghjay force-pushed the feature/user-registration branch from 8bf3110 to ca99381 Compare January 3, 2025 16:47
Resolve merge conflicts in:
- app/routers/user_router.py
- CONTRIBUTING.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant