Tuesday, August 25, 2009

Agora : Projecting the model. Part 1

The model. What is actually model? Model is the representation of all objects in our system. Having the model projected, we can easily implement that in data base. How do we project the model ? We need to create a model using all the infos we have about the application we need to do. And we need to use that data to create the main objects with their properties and methods. Today I am going to try something different. I am going to explain everything in my video. This is a new format for me and I hope you'll like it. We'll only create the first half of the model.

Monday, August 17, 2009

My New Application: Agora.

Hi, It was a pretty big period of time while I wasn't posting anything, but I do have a work, and some personal problems like everyone do, I guess. I am posting here some thoughts about programming. New App: Accounting Application So now about the new application. I will be doing a new application for Accounting. It will be a simple application and I will be constantly adding some functionality to it. And may be this will become something interesting. Methodology I'll try to mix some new things in this app. From the ideological view I'll use Agile Scrum methodology. Read more about it in Wikipedia. Our idea will be dividing the future functionalities in sprints. Every sprint will have a defined number of tasks. Each task will cost points depending on its difficulty. A deadline will be established. If we can't realize everything in time, some functionalities will be moved to next sprint. THE DEADLINE CAN'T BE MOVED. Every functionality should be tested by a number of unit tests + some integration tests. This is done to achieve 2 things: granularity of my application + testability. The better number of coverage will be, the less space will be available for bugs, and the quality of the end product will be better. For tests we'll be using mocks in some places. Application Overview The codename is Agora. The application will contain some functionalities: 1. Placing some products in stock 2. Removing products from stock 3. Introducing the products sold for each day 4. Searching products - filters, sorting. 5. Viewing products in stock. 6. Calculating the sums for the month, week, day, period of time. Configuring a number of working hours for a particular day. 7. Calculating the salary of a particular seller on this period. 8. Different sellers. 9. Administration part: 2 types of Users, administrator and simple user. 10. Configuring the salary of the seller: optionally, percentage from sales, fixed salary. 11. Viewing the working days of a particular seller. 12. Setting price, changing price for a product. 13. Some options for configuration of DB. Postgres? Access? MySQL? port, host. I'll be thinking about the future architecture of the application. In the meanwhile you can add/complete some functionalities. To be continued...