# LanFile_PC
## Project Overview
LanFile_PC is a cross-platform desktop application built with React and Electron, designed for efficient file transfers within a local network. The application supports file upload, download, and automatic device discovery, offering a simple and intuitive user experience for file sharing.
---
## Coding Standards
### Language
- Use TypeScript for all new code.
### Component Design
- Prefer functional components and React Hooks over class components.
- Define appropriate TypeScript types for all variables and functions.
---
## Style Guidelines
- Follow the [Airbnb React/JSX Style Guide](https://github.com/airbnb/javascript/tree/master/react).
- Use 2 spaces for indentation.
- Limit maximum line length to 100 characters.
---
## Best Practices
1. **Responsive Design**:
- Use Tailwind CSS for implementing responsive UI designs.
2. **Performance Optimization**:
- Use `React.memo()` when applicable to improve component performance.
3. **Asynchronous Operations**:
- Prefer `async/await` over `.then()` for handling promises.
---
## Testing Requirements
- Write unit tests for all new components and utility functions.
- Aim for a minimum of 80% code coverage in tests.
---
## Documentation Standards
- Use JSDoc comments for all functions and components.
- Keep the `README.md` file updated with project setup instructions and contribution guidelines.
---
## Key Considerations
- Always consider **accessibility** (a11y) and **performance** when implementing new features.
- All code must pass review to ensure adherence to coding standards and style guidelines.
---
---
## Development Tools
- **Frameworks**: React, Electron
- **Styling**: Tailwind CSS
- **Testing Framework**: Jest
- **Build Tool**: Webpack
- **Packaging Tool**: Electron-builder
---
css
html
java
javascript
jest
react
tailwindcss
typescript
+1 more
First Time Repository
TypeScript
Languages:
CSS: 0.4KB
HTML: 0.4KB
JavaScript: 4.0KB
TypeScript: 33.5KB
Created: 1/14/2025
Updated: 1/17/2025