We would just like a simple program that we can use to distribute our latest music files to our clients computers. The program must connect to our server, see what music files are new, download them, delete the old ones from the local drive and thats basically it.
We want a reliable program and a clean looking GUI. You are free to use what ever data structures and specific implementation styles you like, so long as it works and is compiled ready for MAC and PC.
I (a software developer myself) will be available to guide you through any questions you might have throughout the development process.
Below is an example algorithm description of what it MIGHT look like. Yes its that easy! We just want a PROFESSIONAL job.
1) Main program is Run
2) Main program will initialize global variables and load a data file (index of existing music files and stored variables)
3) Main program will call CompareVersions() which will compare the "current" music files on the HDD to the "latest" ones on the server
4) A catch will be implemented here, to ensure proper internet connectivity
5) CompareVersions() will call Fetch(), which will fetch an xml file off the server, which has the latest list "version" a list of music files
6) CompareVersions() will load the xml file variables into the Main Program
7) CompareVersions() will compare the version number variable from the xml file to the version number variable in the local data file.
8) If the version numbers are the same, CompareVersions() will call AllGoodNotification() which tells the user they are up to date, then return
9) If the version numbers are different, CompareVersions() will call Update() and then return.
10) Update() will load the indexed list of music files from the local data file
11) Update() will check the index of files on the data file to the index of files in the xml file
12) Update () will delete any files that are in the data file that are not listed in the latest xml file.
13) Update() will delete the entries of those files in the data file
14) Update() will download any files that are in the latest xml file index that are not listed in the data file index. The full server path will be provided in the xml file
15) Update() will add the new file location paths to the index of the data file
16) Update() will call AllGoodNotification() then terminate
17) Main Program will terminate
Again, help understanding the functionality of the program will always be available. Access to the server XML file will be available, and the structure of the XML file will be your design.
Good luck!! :D