Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Backend
backend/target/
backend/.mvn/
backend/mvnw
backend/mvnw.cmd
*.class
*.jar
*.war
*.ear

# Frontend
frontend/node_modules/
frontend/build/
frontend/.env.local
frontend/.env.development.local
frontend/.env.test.local
frontend/.env.production.local
frontend/npm-debug.log*
frontend/yarn-debug.log*
frontend/yarn-error.log*

# IDE
.idea/
*.iml
.vscode/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Docker
*.log

# Database
*.db
*.sqlite

# Temporary files
tmp/
temp/
*.tmp
156 changes: 156 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Contributing to IncidentOps

Thank you for your interest in contributing to IncidentOps! This is a personal portfolio project for learning full-stack development, but contributions are welcome.

## Development Setup

### Prerequisites
- Java 17 or higher
- Maven 3.6+
- Node.js 18+
- PostgreSQL 15 (or Docker)
- Git

### Getting Started

1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/YOUR-USERNAME/IncidentOps.git
cd IncidentOps
```

3. Set up the development environment:
```bash
./setup-dev.sh
```

### Running the Application

#### Using Docker (Recommended)
```bash
docker-compose up
```

#### Manual Setup
1. Start PostgreSQL
2. Start the backend:
```bash
cd backend
mvn spring-boot:run
```
3. Start the frontend (in a new terminal):
```bash
cd frontend
npm start
```

## Code Style

### Backend (Java)
- Follow Java naming conventions
- Use Lombok for boilerplate code
- Write meaningful variable and method names
- Add JavaDoc for public APIs

### Frontend (React)
- Use functional components with hooks
- Follow ESLint rules
- Use meaningful component and variable names
- Keep components focused and reusable

## Testing

### Backend Tests
```bash
cd backend
mvn test
```

### Frontend Tests
```bash
cd frontend
npm test
```

## Making Changes

1. Create a new branch:
```bash
git checkout -b feature/your-feature-name
```

2. Make your changes

3. Test your changes:
- Run all tests
- Manually test the application
- Check for console errors

4. Commit your changes:
```bash
git add .
git commit -m "Description of changes"
```

5. Push to your fork:
```bash
git push origin feature/your-feature-name
```

6. Create a Pull Request

## Pull Request Guidelines

- Provide a clear description of the changes
- Include screenshots for UI changes
- Ensure all tests pass
- Update documentation if needed
- Keep pull requests focused on a single feature or fix

## Project Structure

```
IncidentOps/
├── backend/ # Spring Boot backend
│ ├── src/main/ # Application source code
│ └── src/test/ # Test files
├── frontend/ # React frontend
│ ├── src/ # Application source code
│ └── public/ # Static assets
├── database/ # Database schemas and migrations
└── docker/ # Docker configuration
```

## Feature Ideas

If you're looking for ways to contribute, here are some ideas:

### Backend
- Add email notification support
- Implement webhook integrations
- Add authentication and authorization
- Improve error handling
- Add more health check types (TCP, database, custom)

### Frontend
- Add dark mode
- Improve mobile responsiveness
- Add data visualization (charts, graphs)
- Implement real-time updates with WebSockets
- Add export functionality (CSV, PDF)

### Infrastructure
- Kubernetes deployment configuration
- CI/CD pipeline setup
- Performance optimization
- Security hardening
- Load testing

## Questions?

Feel free to open an issue for any questions or discussions about contributing to the project.

## License

By contributing to IncidentOps, you agree that your contributions will be licensed under the MIT License.
Loading