diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..54dbc87 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 4 + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml,json,xml}] +indent_size = 2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..daf1a20 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: Fleckbot CI + +on: + push: + branches: ["**"] + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Java 8 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '8' + cache: maven + + - name: Verify Maven project compiles + run: mvn -B -ntp -DskipTests package + + - name: Run unit tests (if present) + run: mvn -B -ntp test diff --git a/pom.xml b/pom.xml index 188f1c4..7147b87 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,8 @@ 2.2.3 0.9.1 1.7.21 + + macosx-x86_64 @@ -179,7 +181,7 @@ org.nd4j - nd4j-native + nd4j-native-platform ${deeplearning4j.version} diff --git a/readme.md b/readme.md index b848405..029e7b4 100644 --- a/readme.md +++ b/readme.md @@ -1,11 +1,67 @@ -Some setup information: +# Fleckbot (TCC) -Spring JPA Setup: -You need to change the **application.properties** and configure the login, password and url of your database. - -Exchange: -You'll also need to customize exchange.xml to add your own api credentials. +Legacy Java/Spring WAR application for trading strategy experiments and dashboards. -Spring Security Credentials: +## Current stack +- Java 8 +- Maven (WAR packaging) +- Spring MVC + Spring Security + Hibernate/JPA +- JSP views +- XML-based runtime config (`src/main/resources/xml/*.xml`) -admin / ADMIN or user / USER. +## Quick start (local) + +### 1) Prerequisites +- JDK 8 (recommended for current codebase) +- Maven 3.8+ +- PostgreSQL + +### 2) Configure application +Update: +- `src/main/resources/application.properties` + - DB URL + - DB username/password + +Update exchange credentials: +- `src/main/resources/xml/exchange.xml` + +### 3) Build +```bash +mvn -q -DskipTests package +``` + +WAR output: +- `target/fleckbot-1.0.war` + +### 4) Run options +- Deploy WAR into Tomcat/Jetty, **or** +- Use your existing app server workflow. + +## Default credentials (development only) +- `admin / ADMIN` +- `user / USER` + +> Change these for any non-local environment. + +## First modernization pass (already applied) +- Added CI workflow for Maven build + test on push/PR +- Added `.editorconfig` baseline for consistent formatting +- Expanded setup documentation (this README) + +## Next modernization phases + +### Phase 2 (safe upgrades) +- Dependency refresh for known vulnerable/old libs +- Add Maven Enforcer + plugin version pinning +- Replace legacy frontend libs (jQuery/bootstrap v3 static assets) + +### Phase 3 (structural) +- Spring upgrade path (toward Boot) +- Move XML configs to typed properties where feasible +- Add integration tests and test fixtures + +## Notes +This project is your TCC project. Modernization should prioritize: +1) build stability, +2) security updates, +3) incremental refactors without breaking behavior.