I am a developer looking for help writing a Windows application due to my own time constraints. The app would likely be written in Visual C++ / Visual Studio. If you want to write in Python, I'd be thrilled, but most of these Office exports are probably easier with VC++. We have a client who has their data stored in a Microsoft Azure SQL Server. They would like this to be a desktop application, and it should use a configuration file which will contain SQL host name and credentials. No installer needed. The client already has the latest Microsoft SQL Server ODBC driver installed on their PC, because they use Access to do data entry. This app will need to use DSN-Less connections to SQL Server. I can provide the connection string. The output from the software are reports in Word or Excel format.
The database is organized into 2 tables:
The Witness table has a Case column, so you can easily query for witnesses in the particular case. The columns contain only text or dates.
Desktop app starts with a list of previously created templates, and the capability of using an existing template or creating a new template. Templates contain data on:
-Columns to be included in report
-Order of columns
-Portrait / Landscape page
-Sorts - such as sort by date, then sort by name
-Report Header used
-Excel or Word output
Templates are to be stored in a table on the SQL server.
When a template is executed, the application should prompt the user to choose:
-Which case the template applies to.
-Save dialog box allowing user to choose location and filename for the output.
Creating a new template: (I expect this to take the form of a Wizard - "Next button")
-Ask which case the template applies to. While this is not stored with the template, it is likely that the user will want to run the template after creating it.
-Field chooser / order. The user will need to select which fields should be included in the report. The users also create columns in the database, so this should use a SQL query to determine which columns are in the database, and offer that list to the user. The database contains a table with default column width for some columns, and a default width for columns not explicitly specified. The program should give a visualization of the columns, showing the user how much space is left in the page width for additional columns.
-Sorts. The user will want to sort by one or more columns. The user should be offered the list of columns included on the report, and whether they want ascending or descending sort for each, and in what order the sorts should be executed.
-Excel or Word output
-Portrait or Landscape page orientation.
-Report Header. This will appear in the header at the top of the first page only. I expect my client to use a standard header, which would have places for the case name and the template name
-Template Name ("Report Name")
-Save as a template Yes/no
-Run now? Yes/no
-The file output for Word and Excel should indicate that column headers should appear on each page.
-The margins should be minimized on both Word and Excel output files.
-The footer for Word and Excel files should include "Page X of X" at the bottom right corner, indicating which page, and how many pages total.
-The cells in Excel will need to be word-wrap enabled.
I will need to get all the source code and libraries used to compile the application, so I can can compile it on my own PC. I will most likely reach out to you for changes to the application rather than make them myself.
Please let me know if you have any questions. I would be happy to share the current columns in the database with you. I will have a testing Azure SQL Database setup so you can test it on real data.
I am requesting this as a Windows application because I do not want to worry about the security constraints of a web hosted application, and all the users who will be executing this application are in the same office.
I am looking for a mix of experience and value
January 17, 2018
Project Stage:Fully Specified
Project Type:One-time project
Programming Languages Required:
One-time Project:Code Visual C++ or Python application