Główna » GWT, Informacje, Java, Polecane, Spring Framework

Kod źródłowy aplikacji FinPlan.pl dostępny publicznie

4 July 2009 Brak komentarzy

FinPlan.plDzisiaj postanowiłem udostępnić kod źródłowy aplikacji FinPlan.pl publicznie. Do tego na zasadach licencji Apache 2.0.
Dość długo nosiłem się z takim zamiarem, dziś w końcu znalazłem czas by go urzeczywistnić.

Co to jest FinPlan.pl

Samą aplikację można zobaczyć pod adresem http://www.finplan.pl. Serwis pozwala na przeanalizowanie swojej obecnej sytuacji finansowej oraz zaplanowanie oszczędności, tak by ułatwić osiągnięcie przyszłych celów finansowych. Opcjonalna rejestracja w serwisie pozwoli te plany weryfikować i dostosowywać do bieżącej sytuacji – zarówno zawodowej jak i ekonomicznej. Na łamach serwisu mogą być udostępniane spersonalizowane artykuły.

Tyle o samej aplikacji. Teraz coś o kodzie.

Na chwilę obecną można jedynie pobrać spakowane archiwum kodu wyeksportowane z Subverson. Dostęp do samego repozytorium był by dla mnie uciążliwy, jakoż używam komercyjnego rozwiązania i mam ograniczony transfer.
Kod można pobrać tutaj: finplan-v1.0.tar.gz (888 KB).

Szkic architektury

Aplikacja napisana jest w języku Java 1.6 (bez problemu powinna skompilować się w 1.5).
Jako szkielet aplikacji użyłem Springframework. Interfejs w części analizy finansowej oparty jest o GWT 1.5.
Warstwa przechowywania danych to Hibernate 3.3.1 pracujący na bazie MySQL 5.

Do tworzenia artykułów używam biblioteki Freemarker 2.4.

Pełna lista zależności podana jest na końcu wpisu.

Co można znaleźć w kodzie

Przede wszystkim szereg obliczeń, wzorów i elementów matematyki finansowej. Po drugie, bardzo interesujące (przynajmniej moim zdaniem) podejście do testowania.
Obiekty domeny biznesowej zostały najpierw wymodelowane w arkuszu kalkulacyjnym (OpenOffice 3.0), z którego przeniesione zostały bezpośrednio  do skryptów testujących (AT).
Na chwilę obecną podstawowy skrypt testuje około 1 000 wartości obliczeń analizy finansowej danego użytkownika. Kolejny skrypt testuje około 50 informacji tekstowych dostarczanych użytkownikowi jako wynik analizy.

Dodatkowo aplikacja pozwala tworzyć spersonalizowane artykuły oparte o bibliotekę Freemarker, która ma dostęp do samego modelu domeny biznesowej aplikacji jak i dodatkowych funkcji finansowych.

Od czego zacząć

Najlepiej od prześledzenia arkusza kalkulacyjnego supp/ats.ods, który był bazą do implementacji analizy finansowej.

Dodatkowe informacje

Sama aplikacja jest tworzona w środowisku IntelliJ IDEA 8.

Kod udostępniony jest na zasadach licencji APACHE 2.0:

Copyright 2009 Konrad Pawlus

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Wersja dostępna jako kod źródłowy jest nowsza niż aktualnie pracująca pod adresem http://www.finplan.pl. Dodane między innymi zostały tzw. szybkie podpowiedzi (ang. quick tips) wraz z tzw. chmurą tagów.

Biblioteki wymagane przez aplikację:

spring-framework-2.5.4
jakarta-commons/commons-beanutils-1.7.0
jakarta-commons/commons-cli-1.0
icu4j-4.0
gwt-mac-1.5.0 / gwt-mac-1.5.2
hibernate-3.3.1
mysql-connector-java-5.1.6
dom4j-1.6.1
jdom-1.0
freemarker-2.4
jcommon-1.0.14
jfreechart-1.0.11
slf4j-1.5.2
apache-log4j-1.2.15
simplecaptcha-1.0
selenium-remote-control-1.0
rome-1.0
itext-2.1.4
exactor-1.1.26
junit-4.1

Wszelkie pytania proszę kierować na adres konrad@pawlus.it, nie obiecuję, że odpowiem na wszystkie, ale będę się starał. Priorytet mają obowiązki rodzinne i zawodowe :)

Zostaw odpowiedź!

Musisz się zalogować aby móc komentować.