Skip to content

csprousers/cspro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

631 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSPro

This repository contains the code for the Census and Survey Processing System (CSPro) and CSEntry Android.

The CSPro suite of programs that runs on Windows is coded in C++17 using the Microsoft Foundation Class (MFC) framework, with a few tools coded in C#. This code is built using Microsoft Visual Studio.

CSEntry, the Android application, is coded in Java and Kotlin and built using Android Studio.

The shared runtime is coded in C++17, with the NDK toolset building this for Android.

Details about building CSPro, as well as information about the codebase and programming principles, are available in BUILD.md.


Released versions of the software are available at the following sites:

Open-Source Software Licenses

CSPro is a work of the United States government and any CSPro-specific code is released to the public domain within the United States. CSPro uses several open-source software packages, and it is essential to review each license to ensure that any derived use of this code follows all licenses.

The use of CSPro is also governed by a Terms of Service.

Private Development, Public Repository

Most CSPro development occurs in a private repository. The commits in the public repository are mirrored from the development that occurs in the private repository. A list of pull requests that have been merged into the private repository's code is available in HISTORY.md.

If you submit a pull request that is accepted by the development team, the pull request may be initially merged into the private repository, but the changes will ultimately be incorporated in both the public and private repositories.

Limitations

The code in the public repository differs from the code in the private repository that is used to create the released version of CSPro:

  • The released version of CSPro uses the SQLite Encryption Extension (SEE) to encrypt SQLite databases (e.g., Encrypted CSPro DB data sources). Because SEE requires a license, it cannot be released in the public repository. The SQLite compilation units included here are from the public SQLite release: sqlite3.c and sqlite3.h. Any access to encrypted SQLite databases using code built from the public repository will result in an exception.

  • The API keys for CSWeb, Dropbox, and Google Maps have been removed from ApiKeys.h and api_keys.xml. Those choosing to build CSPro from the public repository will have to provide their own API keys if they want to use these services.

Contributing

We welcome contributions from everyone! If you'd like to contribute, please follow these guidelines:

  • All contributions must be submitted via a pull request to the dev branch.
  • Ensure that the pull request is well-documented and includes a clear description of the changes.
  • Follow the project's coding style and best practices.

Thank you for helping improve this project!

About

CSPro suite of tools and CSEntry Android application.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors