Request for re-design and re-planning the project.

Dec 12, 2011 at 2:07 PM
Edited Dec 12, 2011 at 2:08 PM

After coming from my workplace, I decided to look deeper into the code whether I can improve any of it. I found out that there are many mistakes that have already been made. Apologize to constantinos if what I said hurting you. However, if you are serious about this project, you should re-consider re-designing the software architecture and database structure. To me, it is better to spend time on planning than to spend time on coding just to realize in the future that there is something wrong with the design. The following are the mistakes (haven't browse through everything) that I discovered this evening (in my country):

  1. There is no SQL Injection protection. I do not need to know the username and password to be able to login and use the software. Just use the following username and password:
     username:  '
    password:  '' OR ''='
  2. The problem that I find annoying the most is inherit from the BaseForm with a global menu.
  3. Connection String is everywhere. There should be one global connection.
  4. There is no unify interface outline. Space between each Textbox seem to be random. Label font seem to be big and TextBox font seem to be small.
  5. I don't like data-binding personally. (but some of you might like it.
  6. I don't know if I am missing something, but it seem like there is no UNIQUE ID in every table.

There are plenty of minor problems that I can go on and on but I think you will get the idea.

 

Apologize again if what I point out above is rude to any of you.

Dec 12, 2011 at 4:04 PM

Hello invisal,

I appreciate your feedback for this! Your feedback is very important for me as well as for the future of this project!

  • I will accept that there are several major/minor issues in the program and actually today i was personally thinking that many improvements can be done in all aspects of the project.
  • Regarding inheriting from the BaseForm, in VB6 i was able to have a global menu very easily - with VB 2010 i was unable to achieve this anyway other than with the Inherit function - however i am open to improvements to this!
  • Regarding UNIQUE ID in every table it is true that it doesn't exist, i suppose it could help.
  • Regarding data-binding - do you have any ideas on what else we can use?

If you want you can start with re-designing the interface - i do agree with your feedback that a lot of improvements needed.

Dec 12, 2011 at 7:52 PM

I, too, dislike databinding. I'm not sure what else to propose but I think it would be better to load all data through code. I think this would make it easier to modify things as I have had problems in the past figuring out how to modify databindings.

Dec 18, 2011 at 3:31 AM
Edited Dec 18, 2011 at 3:38 AM

I propose using an ORM like NHibernate or Entity framework so we don't have to write SQL everywhere inside code. It would make testing so much easier as well + make the UI/Controller code not depend on any particular flavour of database.

Oh, Unique ID is absolutely needed. 

Dec 18, 2011 at 8:10 PM
Rillanon wrote:

I propose using an ORM like NHibernate or Entity framework so we don't have to write SQL everywhere inside code. It would make testing so much easier as well + make the UI/Controller code not depend on any particular flavour of database.

Oh, Unique ID is absolutely needed. 

So with this ORM can we give the option to end-user as to which database he wants? (Access / MSSQL / MYSQL)