Skip to content
Open
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
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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
26 changes: 26 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 3 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
<spark.version>2.2.3</spark.version>
<nd4j.version>0.9.1</nd4j.version>
<slf4j.version>1.7.21</slf4j.version>
<!-- Temporary compatibility override for Apple Silicon local builds -->
<javacpp.platform>macosx-x86_64</javacpp.platform>
</properties>
<dependencyManagement />
<dependencies>
Expand Down Expand Up @@ -179,7 +181,7 @@
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native</artifactId>
<artifactId>nd4j-native-platform</artifactId>
<version>${deeplearning4j.version}</version>
</dependency>
<dependency>
Expand Down
72 changes: 64 additions & 8 deletions readme.md
Original file line number Diff line number Diff line change
@@ -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.