initial commit

Signed-off-by: ale <ale@manalejandro.com>
Este commit está contenido en:
ale
2025-12-15 02:53:23 +01:00
commit 2c3ac10798
Se han modificado 54 ficheros con 5170 adiciones y 0 borrados

213
CONTRIBUTING.md Archivo normal
Ver fichero

@@ -0,0 +1,213 @@
# Contributing to WiFi Attack Detector
First off, thank you for considering contributing to WiFi Attack Detector! It's people like you that make this project better for everyone.
## Code of Conduct
By participating in this project, you are expected to uphold our Code of Conduct:
- Be respectful and inclusive
- Be patient and welcoming
- Be constructive in your feedback
- Focus on what is best for the community
## How Can I Contribute?
### Reporting Bugs
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include:
- **Clear and descriptive title**
- **Steps to reproduce** the behavior
- **Expected behavior** vs **actual behavior**
- **Device information** (Android version, device model)
- **Screenshots** if applicable
- **Logs** if available
Use the bug report template:
```markdown
## Bug Description
[A clear description of the bug]
## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. See error
## Expected Behavior
[What you expected to happen]
## Actual Behavior
[What actually happened]
## Environment
- Android Version: [e.g., Android 14]
- Device: [e.g., Pixel 7]
- App Version: [e.g., 1.0.0]
## Additional Context
[Any other relevant information]
```
### Suggesting Enhancements
Enhancement suggestions are welcome! Please provide:
- **Clear and descriptive title**
- **Detailed description** of the proposed feature
- **Use case** - why would this be useful?
- **Possible implementation** (optional)
### Pull Requests
1. **Fork** the repository
2. **Create a branch** from `main`:
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes** following our coding standards
4. **Test your changes** thoroughly
5. **Commit** with clear messages:
```bash
git commit -m "Add: Brief description of your changes"
```
6. **Push** to your fork:
```bash
git push origin feature/your-feature-name
```
7. **Create a Pull Request** against `main`
## Development Setup
### Prerequisites
- Android Studio Hedgehog or newer
- JDK 11 or higher
- Android SDK with API level 24+ installed
### Building the Project
```bash
# Clone your fork
git clone https://github.com/manalejandro/WifiAttack.git
cd WifiAttack
# Build debug APK
./gradlew assembleDebug
# Run tests
./gradlew test
# Run lint checks
./gradlew lint
```
### Project Structure
```
app/src/main/java/com/manalejandro/wifiattack/
├── MainActivity.kt # Entry point
├── data/model/ # Data classes
├── service/ # Background services
├── presentation/ # ViewModels and UI
└── ui/theme/ # Material 3 theming
```
## Coding Standards
### Kotlin Style Guide
Follow the [Kotlin Coding Conventions](https://kotlinlang.org/docs/coding-conventions.html):
- Use 4 spaces for indentation
- Maximum line length: 120 characters
- Use meaningful variable and function names
- Add KDoc comments for public APIs
### Compose Best Practices
- Keep composables small and focused
- Use `remember` and `derivedStateOf` appropriately
- Follow unidirectional data flow
- Use proper state hoisting
### Example Code Style
```kotlin
/**
* Displays a WiFi network card with signal strength indicator.
*
* @param network The network information to display
* @param onSelect Callback when the network is selected
* @param modifier Modifier for this composable
*/
@Composable
fun NetworkCard(
network: WifiNetworkInfo,
onSelect: (WifiNetworkInfo) -> Unit,
modifier: Modifier = Modifier
) {
Card(
modifier = modifier.fillMaxWidth(),
onClick = { onSelect(network) }
) {
// Card content
}
}
```
### Commit Message Format
Use conventional commits:
- `Add:` New feature
- `Fix:` Bug fix
- `Update:` Update existing feature
- `Refactor:` Code refactoring
- `Docs:` Documentation changes
- `Test:` Adding or updating tests
- `Chore:` Maintenance tasks
Example:
```
Add: Signal direction tracking with compass sensor
- Implement DirectionSensorManager for compass readings
- Add CompassView composable with visual indicator
- Track signal strength at different orientations
```
## Testing
### Running Tests
```bash
# Unit tests
./gradlew test
# Instrumented tests
./gradlew connectedAndroidTest
```
### Writing Tests
- Write unit tests for ViewModels and business logic
- Write UI tests for critical user flows
- Aim for meaningful test coverage
## Review Process
1. All PRs require at least one review
2. CI checks must pass
3. No merge conflicts
4. Code follows our standards
## Questions?
Feel free to open an issue with the "question" label or reach out to the maintainers.
---
Thank you for contributing! 🎉