I need 2 programs written in [url removed, login to view] (pref c++)
1. Web screenshot archiver
Overview: the user creates projects which consist of lists of URLs. The user schedules each project to go to each url in turn, wait for the webpage to load and then takes a screenshot of the entire page (including scrolling) nd saves it to a user defined filename as a jpg.
2. CD Archiver
This program burns selected archive projects created in 1 to a CD.
1. Web screenshot archiver
This program allows the user to create, edit and delete 'Projects'
A project consists of:
a) Baseline_Dir : a path to a directory containing a bunch of directories and files.
b) Root_Dir : a path to a directory
c) A list of "website_URL" objects - each website_url objects has a bunch of properties - see later
d) date_offset : a signed integer
e) project_name : a string describing the project
f) scheduled time: a time of day
g) enable_archiving : a bool
8) last_archive_successful : a bool
9) Last_Run : Date and time of last archive
Main Dialog = Project_Dialog : A list box with 4 columns and a row for each project.
Last_Run (date and time of last archive),
Result (whether last archive was successful),
Three buttons below the list box: Add, Edit, Delete
Add BUtton: Creates new project. ie prompts for new project name, asks if you want it to be a copy of an existing project, and then opens proj_edit_dialog
Edit Button: Brings up proj_edit dialog for selected project and allows editing of project properties a to e above.
Delete Button: Prompts: Are you sure? Then deletes project.
Each project can have many of these. Each object consists of:
a) url_description - a string e.g. "Google home page"
b) address - eg "http"//[url removed, login to view]"
c) file path - filepath relative to Root_Dir where the screenshot of this webpage will be saved
d) filename - name of jpg file
Screen_capture archive routine:
At the scheduled time the program will do the following for each project that is enabled:
1) Create a directory structure using the current date +/- date_offset in the Root_Dir
eg: if current date = 23 April 2006, Root_Dir = e:/my_archives/fred and date_offset=-1 then the dir structire to create is:
2) Copy the contents of Baseline_Dir into this directory
For Each URL:
4) Use SnagIt8 API to get a high quality jpg of the entire page.
5) save jpg to filepath created in 1) + url's relative filepath+filename
6) Update Lsat_Run time for the project
That's it for the 1st program
2nd Program - CD Burning program
This proram's dialog consists of 4 combo-boxes and a button labeled "Burn"
Combo Box 1: Project Name This contains a list of all projects created by the 1st program.
Combo Box 2: Year A list of all the years availiable as archives for the selected project
Combo Box 3: Month A list of all the months available for the selected year and project
Combo Box 4: Day A list of all the days available for the selected month, year and project
The burn button is enabled when each combo box has selected a valid value
When the burn button is pressed:
1) It prompts for the customer name
2) It burns the contents of the relevant directory eg: e:/my_archives/fred/2006/April/22/ to the root dir of the CD
3) It verified that the burn was successful
4) It writes to one row of a log file: customer name, date of archive and date burned
5) It brings up a message box with the customer name and the archive date, and the message "Please Label Disc"
6) When OK pressed, it brings up a dialog with a blank text-area and a 'print' button and asks the user to paste the address into the box
7) When print is pressed it writes the address to the current row of the log file and prints the address to a DYMO 310 label printer (can use the DYMO SDK)
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) I am happy for you to use GPL code as the software will not be redistributed or sold.
win xp, ie 5+