Thursday, 4 May 2017

Program Coding

Personally I did all the XAML coding for this program.
Besides that I also helped with some validation error codes, page button controls, coded the custom menu, and most of the SQL statements in C#.
I was also the one that provided the research (and links) for encryption (which ended up not being used), database login (Joseph was the one that implemented the database login), and database data retrieval (also known as SQLDataReader. This, again, was Joseph that ended up doing most of it, after I showed him how to do it).
I was also involved in debugging the code, was was always in the loop in order to change the layout according to changes that Joseph wanted to implement (or remove due to time constraints).

In terms of coding quantity, I believe I was involved in about 30% of all C# coding, while Joseph did 70%.

Below I will post screenshots of the XAML Code for several windows.

Login Window



Main Content Container Window



 
Unfortunately I was not able to fully complete the design on the other pages, so (besides the peronalised buttons) the text boxes and labels were not stylised properly.

Program Layout Design

One of the tasks that was re-assigned to me, after one of our members left.

This was basically backed up from the previous sprint because of that issue, so I had to make up for lost time, which I did not. The Design part went smoothly, but the implementation using XAML was a lot trickier than initially expected.

I knew I wanted a modern looking layout, not the standard backend enterprise rubbish designs that we see frequently. For the most part I accomplished this goal

Main Page


This main page was personalised from the ground up, and does not look anything like a Windows standard window, and no generic buttons (or button interactions) in sight. I had to create custom buttons, button text boxes, as well as custom XAML code for both the buttons and the text boxes, to personalise the effects that were applied in each one of them. I also gave a drop shadow to the window to give is a more aesthetic look and feel (in this picture it looks solid, but it is actually only 30% opacity).


Main Loading Container


This is an example of the main loading container. Instead of opening windows every time we click a button, we actually only load the area below the Logo/Welcome back area. That means that we only have one window, with the logo, window buttons, and menu, and all the other content is created in pages that are loaded in this window, below the other elements.
Again this window was completely customised in order to get rid of the standard button interactions, as well as creating a menu with an animation effect.

Below are more examples of the layout design that I made for the other pages.

Item Search




 User Search



 Adding Items


New Supplier


 Orders



Program Design

As a team we discussed what type of solution we would use to create the program. We decided to use a standard SQL Database which would be accessed by a program created in WPF C#.

Later we discussed the user stories, and how we would go about to implement it. After that was done, we discussed possible added features that were not included in the user stories, and how we'd implement them.

Afterwards we assigned duties to each member of the team in order to complete these tasks.

Unfortunately we lost one of our team members, so we were only two people doing all the work. Some of the assignments given to that member (the one that left) were re-assigned to other members, while others were discarded.

After discussing some more about features that would not make the cut, we re-assigned tasks and got to work.

Some of the tasks that were discarded were both code related and documentation related. To name a few, Scrum meeting minutes, Sprint meeting minutes, some extended functionality (and quality of life improvements) for the managers, a whole company re-branding (not only the logo), and proper encryption (and error collection) in the code.

Risk Log

I created the initial Risk Log, along with the details. As time went on myself and Joseph discussed, and added, a couple of more to the list.

Below is a screenshot of the Risk Log Table.


Explanation regarding the implementation of the Mitigation and Contingency can be found on the same file.

Database

Initially I created a good database that tried to be as compatible as possible with the old one, but unfortunately it was impossible to import the data from the old database to the new one, due to numerous key restrictions and different attribute types.
I then created a 2nd database that discarded the data from the original database, and assumed the data was going to be manually input afterwards. After discussing with the client it was decided to try to import the data again.
After several hours of error correction, foreign key constraints, and overall feeling of dread, I was finally able to import the data, table by table, and auto generate a script that would be able to import that data into a 3rd database.
I then coded the 3rd database and imported the information to it. Below is a screenshot of the database creation script, and another for the data import script.



Database Table Schema

Since I was the one creating the Database, and the EERD for it, it is only logical that I'd be the one producing the Table Schema as well.

Two Table Schemas were made, one that was made along side the initial EERD, and another that reflected all the changes made on the 2nd and 3rd iterations of the EERD.

Below is a screenshot of the Table Schema.


Database Design

This EERD for the Database was created by myself, and agreed upon by the rest of the group.
This EERD suffered many changes throughout the project. I had an initial EERD that was optimised for compatibility with the old Database. Due to complications in importing the old Database, we discarded the EERD and I created a new one (similar to the final one) that took into consideration the fact that we wouldn't be using the old Database, at all, because of the complications with importing the data.
Finally after some more fiddling around, I painstakingly, managed to import the data (after several hours of trial and error, and fixes upon fixes) into a new Database that I had created. Subsequently I modified my previous EERD in order to reflect the subtle changes in the attribute lengths.
Below is a screenshot of the final EERD.

This EERD was made using a program called Visual Paradigm, and therefore follows their UML standards.

Victoria Queen - Interview 2

Fabio

First one is a very simple one, you got Water Mill and I'll probably change the text here at the bottom for a different font, because it doesn't incorporate very well with the one on top, but it was basically that colour that I wanted to keep with it.


This second one is kinda unfinished because I didn't really think it was gonna come out very well. It's very busy for a logo.

This third is a very simple, two colour, logo.  Very simple, the water effect is to represent the water mill.


Victoria

 I'm not 100% sure on the colour. It doesn't really ... The sort of water, yes - but is it garden, no isn't it?


Fabio

It's is just for the water wheel yes. Number 4 is more abstract version, more modern abstract version of the previous one. Where you have the water represented as abstract shapes with a more contemporary font in the middle.  


Fabio

Number 5 would be more of a garden type, again not very sure on the font for the actual name. But this is not only to represent the garden but also the water mill.




Victoria

It looks like a lily, so the lily would be representing the water way, yes.


Fabio

It was a full lily at one point but it looked better as a 4/5ths of one. This 6th one is again representing the water mill, and it is made in water colour. So again, a dual meaning, and again I still need to work a little more on the text here, but also something I wanted to input is on the 6.1 which is the same thing but on a different colour scheme. It is a more blue-ish instead of a more purple-ish colour scheme. And I would like your input on whether you liked any of these, or you like some parts of them, or if you wanted something different.

Victoria

The bit that I really like especially on this one [the 6th one] is the water wheel. What I think they are lacking is the garden bit, but I don't want to spoil, this or that by sticking followers and things on it.


Fabio

Yes it doesn't incorporate well one with the other.


Victoria

Is there anyway through colour, or something, you could when you are writing the name. I mean, I presume you are going to have the 'Garden Emporium' written, right?


Fabio

Yes, yes.


Victoria

Yes like this [pointing to the 5th]. Is there anyway to incorporate it within the letters, or anything, maybe?


 Fabio

Within the colours of the letters? Like having a bit of a green on the bottom, maybe having some flowers coming out, instead of certain letters ...


Victoria

Maybe, maybe. Without it overpowering ...

Ashley

Maybe like a flowered wallpaper?

Victoria

Something like that but without spoiling the effect, because I don't want it to take it away from that.


Fabio

A bit of grungy look. So it can fit with the style.

Victoria

Yeah, yes.

Ashley

Something like the water lily is an obvious one, because it brings in all the water, and the garden together.


Victoria

Yeah, yes. But I'm liking that last one you showed me, this [pointing to 6.1] I like that. Definitely like that water aspect, show me something further along once you play with the lettering and that's about it I suppose. Then see if we can incorporate it, if people, if someone looked at it it wouldn't be just a water wheel but it incorporated the garden as well. Yeah? But I like this.

Fabio

Yeah, ok. Thank you.


Victoria

Ok? Thanks.

William Bold - Interview 2

Fabio


This would be the first logo design. Trying to mix the common letters, I will change the font at the bottom just to match more with the top font but this is the basic colour i wanted to have.







The second one, I left it unfinished because I wasn't very happy with what was going on but so you have an idea of what I was working on.






The third one you have the water splashing around in the form of a how it would go on a watermill.






The fourth is the same design as the third but more abstract.






The fifth one has more of a gardening them me with the flower petals, Miss Queen said she didn’t like the text very much she liked the concept but not the text very much.


I have two variations of this one, this is watercolour brush basically, with the same design principle as the previous ones. The second one is a change of colour to be more blueish theme. Miss Queen said she liked this one with the other colour but it didn't incorporate a lot of the gardening theme into it and my idea was to get the bottom part of the letters to be grass with a different font. Some of the letters, like the I's would be petals around the dot of the ‘I’.





William



It’s still kind of abstract, obviously, we want it to be a good representation so that people can recognise it easily, I'm not sure that people would recognise it easily. It would be all right for letter heads but I am not sure how you would put it on a sweatshirt.


Fabio


You would not technically you do not put a logo on a sweatshirt unless it is a small emblem. If you want something big you'd create a different artwork.


William



No, we want a little.




 

Fabio



A logo is only as identifiable if the customer is used to it. No-one would recognise, for example, the Nike logo; they wouldn't associate it with Nike unless they were accustomed to seeing it with Nike.


William



Nike have a great deal larger advertising budget than we do. So they can afford to advertise their logo and put their logo out so people can recognise it, we unfortunately can't do that.



Fabio





Its word of mouth as you get more recognised people would recognise the logos more.


William



I like that design but I don't like the fact that its very very abstract, that I like better but it’s very black and white, not a lot of colour in there. I like that one better. That one I don't like. The first one is not very ‘gardeny’ and industrial. That one’s nice again but not a very gardening theme, instead of transparency maybe have more of a background.


Fabio


Thank you, we will revise them accordingly.

William

Do you wish to know anything about the warehouse operatives or the purchasing assistants?

Fabio

The warehouse operatives?

William

Yes, the people that obviously, the order items are going to come into the warehouse and then they are going to need to be checked to make sure the items are there. So when the van delivers them they don't just assume that everything is there correctly, the warehouse operatives are going to check stuff in to make sure that what has been asked for has been delivered and then update the database accordingly.

Fabio

Ok, team did you get that? We hadn't previously been informed of this required, need to identify that within a user story to ensure we can get the functionality.

William

Never mind, ok, the other thing we will need to do periodically is stock checks, at the moment we do these once a month as we are not sure what’s there but with the new system obviously, we can afford to do it a lot less frequently because we are keeping a track of what’s on the shelves so previously once a month they have looked at everything on the shelves and updated the database to make sure its correct. Now we want to make the decision to do it once every 3 months or so but we still want to be able to update the items in case of theft or damage because you can’t guarantee what the computer says and what is on the shelf are the same thing. So we want to reduce the frequency but we still want the warehouse operatives to be able to see and update accordingly. Also we would like to know if there are any delivery's due into the warehouse, so the guys know they need to be there to receive and check the goods when they come in. Also when they are looking for stuff, they find it very hard to find stuff, old Joe knows where everything is, he has his own sort of system but no-one else does. So we would like the database to tell us where the items are on the shelf so that if we need to go to get something we know where to go to get it. We would also like to see if there are some particular products that is edited often or frequently.

Fabio

Do you have the storage organised in any way?

William

No not at the moment we don’t.

Fabio

Okay so there’s currently no sections. So how big is the warehouse?

William

Do you need that information or could you just get the warehouse operatives to put the information into the system?

Fabio

It would be a lot more efficient if we knew how much space you had to actually assign to the items.

William

We have rows and shelves. Row X shelf Y, what more do you need than that?

Fabio

Just to make a limit of how big that warehouse is. 

William

We only have one warehouse.

Fabio

Okay, lovely thank you very much.