12 Comments

windows_open_source_Nedavno sam dobio upit da napravim jednostavnu aplikaciju za potrebe jedne udruge. Radi se o aplikaciji za praćenje zahtjeva, koja vodi evidenciju tko je predao zahtjev, tko ga provodi, evidentiraju se zabilješke, i na kraju se zahtjev zatvori. Uz to, bitno je da aplikacija prilikom otvaranja novog zahtjeva pokuša pronaći u bazi dali je slični zahtjev bio već riješen, te ponudi njegovo rješenje. Aplikacija mora imati i različite izvještaje.

Sve u svemu, radi se o spoju CRMa i Issue Trackera, a specifičnost bi bila jednostavnost korištenja i izrade, "pametni" sustav traženja postojećeg rješenja i izrada izvještaja.

Da stvar bude zanimljivija, odlučio sam aplikaciju raditi kao Open Source projekt, i putem opisivati kako sam neke stvari realizirao, zašto i slično. Tehnologije koje planiram koristiti isto nisu nešto što koristim u svakodnevnom radu, te je ovo prilika za proširenje znanja.

Za sada sam se odlučio za tehnologije:

- Silverligh 4
- ASP.NET i WCF web servisi
- RavenDb baza podataka (SQL Server sa EF Code First je backup rješenje, ako se RavenDb iz nekog razloga naljuti na mene i odbije poslušnost!)

Cilj je također koristiti tehnike i alate:

1. planiranje, projektiranje i izrada document baze. Imam iskustva samo sa relacijskim modelom podataka, i ovo će biti odlična prilika za uhvatiti se u koštac sa NoSQL problematikom! Koliko me ovo veseli, toliko me i plaši (Key/Value store, Map/Reduce funkcije, kreiranje indexa, ...)!
2. Caliburn.Micro za MVVM framework. Do sada sam koristio MVVMLight, koji odlično služi svrsi, ali opinioned pristup sa mnoštvo ugrađenih konvencija me jako privlači
3. CQS pattern: kao u predhodnom postu, htio bi:
- enkapsulirati upite, da ih mogu ponovno upotrebljavati
- slati one-way commande koje izvršavaju zapisivanje i/ili poslovnu logiku
  Do sada sam koristio CQS pattern isključivo u MVC web aplikacijama, te još nisam 100% siguran kako ovo izvesti u Silverligh klijent/server modelu, i to zbog:
- dali upite izvršavati u Silverlightu, preko RavenDb REST sučelja, ili ih slati na server i tamo izvršavati? Nikako ne želim imati standardne RPC SOAP web servise, nego više nešto nalik RESTu.
- dali komande izvršavati na serveru ili klijentu?
- kako serijalizirati querye i komande prilikom slanja preko WCFa, ako se uopće šalju?
Inspirirano prezentacijom “Dr. CQRS or: How I Learned to Stop CRUDing and Love the Domain Model” sa NDC 2011 konferencije.
4. reporting u Silverlight, još trebam odlučiti kako. Savjeti?
5. Aplikacija se mora pokretati na shared hosting okruženju, u Full Trust načinu rada

Sljedeće je plan izrade User Storya, i popisa funkcionalnosti koje aplikacija mora implementirati. Izvorni kod će biti objavljen na BitBucketu kroz tjedan-dva, čim postavim projekte i solution.

Kako je ovo jedan proces učenja novih tehnologija, očekujem puno primjedbi, komentara i sugestija! Zaželite mi puno sreće u mojem prvom Open Source projektu!

Comments

Comment by pro3x

Samo naprijed. Kad nas detaljnije uputiš u specifikaciju projekta, onda će krenuti i komentari. Sada mogu samo reći da si "hrabro" odabrao tehnologije. Hrabrost i ludost su ponekad dvije strane iste kovanice : ) pa sam zato hrabrost ipak stavio u navodnike, barem za sada, dok ne dokažeš da si napravio dobar izbor : ) Nadam se da nemaš neke određene rokove. Teško je planirati rokove uz istovremeno upoznavanje novih tehnologija.

Koliko sam shvatio, planiraš to razviti kao "web" aplikaciju. U tom slučaju reporting možeš potpuno izdvojiti i razviti na nečem provjerenom, a u aplikaciji onda samo ponuditi download gotovih dokumenata. Jedino što ćeš u tom slučaju imati još više nepoznanica i još više različitih tehnologija : )

Comment by SEO Ebook

Hello friend Thank you for spreading this informative article around. Usually i really don\'t investigate Blogs and forums. However just like it. If only much more reports and information over the internet could be approximately useful in addition to educational in comparison with this particular one. Fantastic post, thanks a lot All the best.

Comment by watch movies online

I believe this site holds some really good information for everyone. "The individual will always be a minority. If a man is in a minority of one, we lock him up." by Oliver Wendell Holmes.

Comment by watch twilight eclipse online

obviously like your website but you need to take a look at the spelling on quite a few of your posts. Many of them are rife with spelling issues and I in finding it very bothersome to tell the reality nevertheless I will certainly come again again.

Comment by full movies

fantastic points altogether, you simply gained a logo new reader. What could you suggest in regards to your put up that you just made some days ago? Any positive?

Comment by watch twilight new moon

Wow! This can be one particular of the most beneficial blogs We've ever arrive across on this subject. Basically Fantastic. I'm also an expert in this topic therefore I can understand your hard work.

Comment by watch easy a online for free

hello!,I really like your writing so a lot! proportion we keep up a correspondence extra approximately your article on AOL? I need an expert on this space to resolve my problem. May be that's you! Looking forward to peer you.

Comment by watch twilight new moon

Merely wanna input on few general things, The website design is perfect, the written content is very superb : D.

Comment by LOLd

incredibly excellent post, i definitely will be bookmarking your site