...
....
- Frontend: Scala.js 1.17.0 with Scala 3.6.2
- UI Framework: Laminar 17.2.0 for reactive UI
- UI Components: UI5 Web Components 2.1.0
- Build Tools: SBT and Vite 6.0.0
- Development: Fast development with Vite hot reload
- Java 11 or higher
- Node.js 18 or higher
- SBT 1.9.6
-
Clone the repository:
git clone https://github.com/pme123/pme123-windspotter.git cd pme123-windspotter -
Install JavaScript dependencies:
npm install
-
Start the Scala.js compiler in watch mode:
sbt ~fastLinkJS -
In a separate terminal, start the development server:
npm run dev
-
Open your browser and navigate to:
http://localhost:5173
The application will automatically reload when you make changes to the Scala code.
-
Create an optimized production build:
git commit -m "My commit message" -
Deploy to GitHub Pages (automated):
git push
This triggers the GitHub Actions workflow to:
- creates a production build
- deploys to GitHub Pages
pme123-windspotter/
├── build.sbt # SBT build configuration
├── package.json # Node.js dependencies and scripts
├── vite.config.js # Vite configuration
├── index.html # HTML template
├── project/
│ ├── build.properties # SBT version
│ └── plugins.sbt # SBT plugins
├── src/main/
│ ├── scala/pme123/windspotter/
│ │ ├── Main.scala # Application entry point
│ │ └── HelloWorldView.scala # Demo component
│ └── resources/
│ └── styles.css # Application styles
└── README.md
- Code Changes: Edit Scala files in
src/main/scala/ - Automatic Compilation: SBT watch mode compiles changes automatically
- Hot Reload: Vite detects compiled JavaScript changes and reloads the browser
- Styling: Modify
src/main/resources/styles.cssfor UI customization
npm run dev- Start development server with hot reloadnpm run build- Create production buildnpm run preview- Preview production build locallysbt ~fastLinkJS- Compile Scala.js in watch mode (development)sbt fullLinkJS- Create optimized Scala.js build (production)
- Laminar 17.2.0: Reactive UI library with advanced features
- UI5 Web Components 2.1.0: Enterprise-grade UI component library
- Vite 6.0.0: Fast build tool and development server
- UI5 Web Components: Complete UI component ecosystem
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Laminar - Reactive UI library for Scala.js
- UI components powered by UI5 Web Components
- Fast development experience with Vite
For questions, issues, or contributions, please visit our GitHub repository.