Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: What language/s to use to build Property Managment application

  1. #1
    Join Date
    Dec 2008
    Location
    Townsville-Qld-Australia
    Beans
    251
    Distro
    Ubuntu 12.04 Precise Pangolin

    What language/s to use to build Property Managment application

    Good Morning

    Noob here. I have dabled a tiny bit into programming over the years but never really got deep in to it.

    My wife runs a Residential Property Managment Business (rents out houses. She is only a small business 3 people in total, like many similar property managent businesses. She doesnt have the resources (moeny) for a commerical property mamangent software app like REST or Console.
    I made up a heaps of spreadsheet for my wife to use to run her business from and it has all work great but she has been on my case for a few years to go the next step. This is a little beyond my skills but hey I have decided to take on the challange and actually really learn a new skill (programming) while building a better more intergrated app for her.

    Now my question is what language/s to use to write this all in.
    Here is the basic outline of what she would love to have at the end of the day. Please feel free to correct my mis assumptions or outright mistakes here

    Holder of the data
    Database of some sort to hold all the important info i would assume. She has approx 230 houses on the books. In spreadsheet terms 230 rows but about 1000 coloumns. Here data security is the most important thing as it needs to be 'auditable' and be able to show that noone has fiddled with the data.
    Which would be the right database system to use.
    Needs to have things like
    • user accounts
      record info on who, what, when changes were made, etc
      keep picture, photos, video, scans, etc aswell as data entry
      have muttliple user logged on at same time
      like to have remote access (work from home/across web)
      be able to lock a 'row' so that it cannot be modifed. The idea here is to log out an inspection, complete the inspection, log in the results a day later type thing
      probably a lot of things I havent thought of

    Lets allow for say 500 propertys and 6 different users. This allows her business to double in size. i would assume that as well as user accounts there would need to be user privilage levels(eg like ubuntu guest, user, and sueruser)

    Interface to the database.
    I was thinkking some sort of webbased interface. This way she could use it across a few different devices (desktop, table, smartphone, etc). We are a big believer in the KISS pricipal (Keep It Simple Stupid). Therefore nothing to fancy but still has the flexiblity and power to do everything she wants to.
    • Property entry, routine, exit inspections
      Owner lists
      Tennant Lists
      Payment details both tennat (in) and owner (out)
      Normal business reports (profit/loss, banking, etc)
      and much more

    She would love to be able to do her inspection on her tablet and or smart phone (love that thing more then me I think), and then have it just update the database when she gets back to the office (thats a long way off, if ever, but worth thinking about at the start of the project)

    Or would using something like LibreOffice Base do the job just as well. I am up for any suggestions

    I have done some research and only found a few open source Sales property managment apps. Mostly in Drupal. If you happen to know of a good open source rental property managment app, please link the site so I can take a look.

    What do you people thing is the best way for me to go, interms if language/s to use. I enjoy a challange so dont be scared to suggest something a little harder initially but worth the effort in the end.

    Cheers
    chipppy
    Last edited by chipppy; October 22nd, 2012 at 02:07 PM.
    Ubuntu 12.04/ Dual Boot (Windows)
    Xubutu 10.10 RAID 5 with MythTV installed on top
    Netbook respin 11.04

  2. #2
    Join Date
    May 2008
    Location
    UK
    Beans
    1,448
    Distro
    Ubuntu 8.04 Hardy Heron

    Re: What language/s to use to build Property Managment application

    I would say for something like this - what languages are you comfortable with ? In theory any Turing complete language can do this job, so crucially the decision is down to development speed and ease of maintenance, and maybe performance (but only worry about that later - when you know which bits of your application are slow).

    If you want to go web based then PHP/HTML/CSS is a good combination with an SQL databse to hold your information - assuming you have a server to host this on. Alternatively you could do a python implementation instead of PHP.

    If you don't know those languages, there is nothing to stop you doing a web based application in C (I speak from experience), but it is not the easiest of things to do.

    Have a look at your database design - and don't just ape the current spreadsheets - 1000 columns might be ok for a spreadsheet (in that the spreadsheet can handle it), but it doesn't work too well as a database structure - you will almost certainly find you need to split the rows up into multiple tables.

    From what you say security is critical - so whatever language you use, build that in from the beginning - trying to build security in once the application is complete leads to disaster (one example : MS Windows). Also security will be at least part based on your server - does it support https for instance - or have a decent user authentication/admin system ?

    To be honest - a simple single user system sounds fairly easy - it is the multi-user stuff you will have fun with i think.
    Tony - Happy to try to help.
    Unless otherwise stated - all code posted by me is untested. Remember to Mark the Thread as Solved.
    Ubuntu user number # 24044 Projects : TimeWarp - on the fly Backups

  3. #3
    Join Date
    Dec 2008
    Location
    Townsville-Qld-Australia
    Beans
    251
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: What language/s to use to build Property Managment application

    Good Morning

    Thanks for the reply

    My experience with any specific language (in this project terms) is none. I have played a little with Java and C++ but still a complete noob really.
    First point is I perfer open source so I would prefer to stay completely open source (language, IDE, Server, etc)
    Therefore all language are new to me and therefore all the same terms of development speed. This leave ease of maintenace as the major point there.

    The app dosnet have to be web based. It just has to be able to server to and from the web. Example is rent payment. Currently all electronic transfers. Each day wife downloads her bank statment and imports into a spreadsheet. A Macro then moves the tennants payments from this spreadsheet to various other spreadsheets, which inturn does other stuff.
    The remote work via the web is a bit of a dream thing really but if I allow for it at the start then less issues later if she wants it to become reality (think that more for a pro programmer then me)

    DB is an interesting one. I have been doing a little research into different DB languages. Theres lots. Which of the open source DB language is best to use?
    Big thanks for the hint of keeping the table sizes smaller. I would have fallen for that mistake without the hint.

    Sever. Dont have one at the moment, but I will make one once I start. This does lead to the question of which server should I use, taking into account the security and connection requirment.

    I suppose one of the questions that need to be answered is design. So my thinking is a modular design. Build a base module that other bits can be added to later, without having to rewrite the base. Is this possible and is this a good design or is building the one intergrated app a better design.
    Also there is platform while I personally choose to use Linux, in the interest of open source (including OS) does any specific language cause issue whenusing the app on a different OS?

    Can this affect which lanuage is best to use?

    Wow i never thought so much to think about just to choose a language to use.


    Cheers
    Chipppy
    Last edited by chipppy; October 23rd, 2012 at 01:55 AM.
    Ubuntu 12.04/ Dual Boot (Windows)
    Xubutu 10.10 RAID 5 with MythTV installed on top
    Netbook respin 11.04

  4. #4
    Join Date
    May 2008
    Location
    UK
    Beans
    1,448
    Distro
    Ubuntu 8.04 Hardy Heron

    Re: What language/s to use to build Property Managment application

    if it were me i would use python and SQLlite - but only because that is what i am used to.

    I would also use GTK to build the GUI - becuase again - I am used to that - but that would not be web based.

    Python and GTK are cross platform - as is sqllite (i think) - although i have only used any of them on linux.

    A modular or OOP design is the best i think - but if you have never done any s/w design before it might take you a while to get the OOP level of design.

    private message me if you want.
    Tony - Happy to try to help.
    Unless otherwise stated - all code posted by me is untested. Remember to Mark the Thread as Solved.
    Ubuntu user number # 24044 Projects : TimeWarp - on the fly Backups

  5. #5
    Join Date
    May 2007
    Location
    Leeds, UK
    Beans
    1,664
    Distro
    Ubuntu 13.10 Saucy Salamander

    Re: What language/s to use to build Property Managment application

    Java EE is made for that sort of application. It has all the architectural support and security frameworks necessary for large-scale applications with vast numbers of users. It just has a major learning curve.

    If I was developing it:

    MySQL database with Glassfish application server
    EJB3/JPA for the database integration
    EJB3 (or Spring) for the business model and transactions
    AOP (using EJB interceptors or Spring AOP) for auditing
    JSF or Spring MVC for the web tier
    JAX-RS/JSON web service into the business model to expose as web services
    iOS or Anroid apps for tablet/smartphone access via web services

    All of the Java EE code is completely cross platform. The key to making it manageable is getting the tiered architecture right.

    It's a lot of work and a lot to learn. The Java EE 6 tutorial gives a flavour:

    http://docs.oracle.com/javaee/6/tutorial/doc/

  6. #6
    Join Date
    Aug 2006
    Location
    60°27'48"N 24°48'18"E
    Beans
    3,451

    Re: What language/s to use to build Property Managment application

    I would probably go for something like Rails, as this sounds like a fairly small application. The Enterprise Java stack is huge and completely unmanageable for a beginner.
    LambdaGrok. | #ubuntu-programming on FreeNode

  7. #7
    Join Date
    Sep 2005
    Location
    Rural Nevada, USA
    Beans
    293
    Distro
    Kubuntu 14.04 Trusty Tahr

    Re: What language/s to use to build Property Managment application

    You might look into Django. It's well documented and doesn't demand a lot of up-front expertise -- although if you have the expertise you can build some terrific apps with it.

  8. #8
    Join Date
    Jun 2009
    Location
    Chicago Suburbs
    Beans
    Hidden!
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: What language/s to use to build Property Managment application

    I do not know Django but think it may be worth investigating.

    My goal was to learn python, I knew some sql and before retiring 6 years ago used MS Access a lot.

    So I wanted to build some apps in Linux. But MS Access does combine databases, queries, reports and the tools to create all those in one application. In Linux they all are different and each has many choices.

    sql db - sqlite is good to start and learn, but you may want postgres or mysql

    http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

    You may want tools to access sql tables directly. With swlite I use SqLite database browser & sqliteman to test sql statements.

    I use python but needed an editor. I use geany or spyder, but everyone has a different opinion.
    Too many choices but many are free so you can try them
    http://wiki.python.org/moin/PythonEditors

    I am still experimenting with gui. Some of the best advice was to separte gui from database stuff in python and I have used almost exactly the same python database app, sql tables, but experimented with gtk, qt and now starting HTML.

    Gui & editors:
    http://wiki.python.org/moin/GuiProgramming
    The Python GTK+ 3 Tutorial
    http://python-gtk-3-tutorial.readthe...est/index.html

    There are tons of python examples for just about anything, but in bits and pieces.

    Someone posted this on an accounting app.


    The accounting needs of SQLite.org are likely much simpler than those of LWN.net. Nevertheless, it seems worth mentioning that we've gotten along fine here since 1995 using a database with a very simple schema and a handful of CGI scripts written in TCL. This system keeps track of client contact information, invoicing, various bank accounts, payroll and expenses, and then it generates a general ledger, income statement, and balance sheet which we print out and take to our accountant once a year at tax time. The key descriptor of the system is "simple". There are no graphics. Just some <form> and <table> elements mixed with a few SQL statements. The whole thing took about one day to hack together nearly two decades ago, and apart from minor adjustments now and then (ex: conversion from PostgreSQL to SQLite sometime around 2002) it has served us well with a minimum of fuss.
    And this on database, I am used to just going in and fixing something, but if you need audit-ability you have to have more id, dates & info on who is making changes built into your tables.

    If I were to build a small business accounting system, I'd start with his and re-implement it using modern languages and a modern UI. And the first premise of the database system would be as already mentioned: every record inserted must include a record insertion date/time, the record this one retired (or null if it's new), a record retirement date/time, the record that retired this one (or null if it's current) and who did each deed. Nothing is ever deleted from the database or updated in it: 'DELETE' and 'UPDATE' don't exist. Call it 40 bytes per record; in 100M records, that's all of 4GB: mice nuts compared to the bit trail you'd get. And accounting is all about traceability.
    For info on UEFI boot install & repair:
    http://ubuntuforums.org/showthread.php?t=2147295
    Please use Thread Tools above first post to close thread when/if answered completely.







  9. #9
    Join Date
    Dec 2008
    Location
    Townsville-Qld-Australia
    Beans
    251
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: What language/s to use to build Rental Property Managment application

    Good Morning

    Huge thanks for all the advise.

    r-senior: I looked into Java EE and wow it is a monster for a noob like me. From what I read it is more suited to B I G apps like monster corperations, banks, goverments and the like. My app will be for little sole traders, up to maybe 5-6 employees. Big thanks for your input as the advice the tiers archutieture is going to be invaluable. The main issue here is me. Im a noob to porgramming and something like this is a huge project for me. therefor eI would prefer to use the 'easier' languages for a noob over the best langugae for a pro developer. Though I am up for a challange if it is just 'dumb' to go any other way

    SQLite v SQL. Personally I think SQL over SQLite. To this point I think PortgresSQL over MySQL. Reasoning is 2 part
    • Portgres appear (my reading) to be more about compliance with the standards at some cost of ease of use (though ease of use appears to have been mostly sorted in later versions). Standard compiance is important to me personally as it is a big part of my normal job.
    • PortgresSQL appears to be more true open source both in source code and community input to the project then MySQL. Openess to help from all is iomportant as that is a major thing that I will require on my journey though this project.


    Anyone have any thought if chossing PortgresSQL is a really bad idea. If not then I will lock in Portgress as my DBase.

    The gui side of things.
    I dont specifically have to make the gui web-based. The web-base part is the so that the application can interact with the web. EG to download banking statments (and then manuliplate that data), post rental property available ads on the net, recieve online application for the aformentioned ad, etc.
    I would like to allow for some sort of working from home, or remote site, and be able to work over the internet to that effect (really I think that is a big wish more then reality but I want to allow for into in the language I choose)
    This means that using something like GTK+ is fine.

    Therefore people the GUI language has only to allow for net communications it doesnt need to be net based. Ease of use for a noob is pretty important here.

    Whats your thiought as to the GUI language allowing for PortgresSQL (unbless there is a big negitvie to PortgresSQL)

    Cheers
    chipppy
    Ubuntu 12.04/ Dual Boot (Windows)
    Xubutu 10.10 RAID 5 with MythTV installed on top
    Netbook respin 11.04

  10. #10
    Join Date
    Mar 2007
    Location
    Wenatchee, WA
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: What language/s to use to build Property Managment application

    I'm fairly green at this stuff myself... get started on a project and then get side-tracked But if you are interested in this being open source, able to use whatever database you want, and web enabled would be nice but not strictly necessary... perhaps web2py might be an option. It uses its own database abstraction language/layer (DAL) for accessing whatever kind of database you want - sqlite, mysql, postgresql, etc. (might be easier to build initially with sqlite for testing) and it comes fairly self-contained - you can run it from a USB thumb-drive on Windows and it will pop up a small but functional web server to run the app. Worth checking out, at any rate.

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •