{"id":21735146,"url":"https://github.com/caltech-ipac/fellowship-software","last_synced_at":"2026-05-15T23:39:32.888Z","repository":{"id":149117985,"uuid":"70186263","full_name":"Caltech-IPAC/Fellowship-Software","owner":"Caltech-IPAC","description":"Software used at NExScI to manage fellowship solicitation and selection","archived":false,"fork":false,"pushed_at":"2016-10-12T16:47:58.000Z","size":779,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-25T20:43:48.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Caltech-IPAC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-06T19:31:54.000Z","updated_at":"2016-10-12T19:37:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"86b4ba6d-07bf-4b19-ab4d-1b61a3a520d1","html_url":"https://github.com/Caltech-IPAC/Fellowship-Software","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2FFellowship-Software","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2FFellowship-Software/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2FFellowship-Software/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2FFellowship-Software/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Caltech-IPAC","download_url":"https://codeload.github.com/Caltech-IPAC/Fellowship-Software/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244712742,"owners_count":20497545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T05:12:03.974Z","updated_at":"2026-05-15T23:39:27.861Z","avatar_url":"https://github.com/Caltech-IPAC.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fellowship-Software\n\nIntroduction\n\nThis is a PHP/MySQL web database application designed to collect applications for a\nfellowship program, including letters of recommendation. Confirmation emails are sent\nupon successful application and letter submission. Application materials are collected\nin a password-protected area where letters can be attached to the appropriate application\nand a final PDF file of the entire application, including letters, can be created.\n\nRequirements:\n- Apache or other web server\n- SSL security for encrypting data passed between server and client\n- PHP version 5.0 or newer\n- MySQL version 4.1 or newer\n- pdftk command-line tool (https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)\n- jquery-validation library (included in this distribution)\n- phpmailer library (included in this distribution)\n- FPDF Free PDF generator (included in this distribution)\n\nSetting up the database:\n\n1. Create a database called “fellows” (or whatever else you want to call it)\n\n  `mysql\u003ecreate database fellows;`\n\n2. Create a username and password for that database\n\n  `mysql\u003egrant select, insert, update on fellows.* to 'username’@‘hostname’ identified by 'password';`\n\n3. Read in the mysqldump file\n\n  `/path/to/mysql -u root -p fellows \u003c fellows_dump.sql`\n\n4. Update “config.php” with the host name, database name, username, and password\n\n\n=================================================================================\n\nDescription of database:\n\nThere are three tables: “fellows”, “letters”, and “users”\n\n1. fellows table\n\n    This table contains information that the applicants enter into the application submission\n    form, e.g. their contact information, PhD information, proposed host institutions and\n    research, and the names of their references. The table also contains several columns \n    related to the application review process. These columns aren’t needed if you are only\n    using the system to collect the applications.\n\n    This table will be populated automatically as applications are submitted.\n\n2. letters table\n\n    This table contains information about the recommendation letters that the letter-writers\n    enter into the letter submission form, e.g. the applicant’s name and email address and the \n    letter-writer’s name and email address.  \n\n    This table will be populated automatically as letters are submitted.\n\n3. users table\n\n    This table contains usernames and passwords for people who need to log in to the system\n    to view the submitted materials.  \n\n    To populate this table, use the following SQL syntax:\n\n    `mysql\u003einsert into users values (NULL, ‘FirstName LastName’, ‘username’, ‘password’, ‘admin’);`\n\n    Passwords should be hashed. Instructions on how to do this are in ‘passwords.php’;\n\n\n=================================================================================\n\nSetting up the configuration file:\n\nThe file \"config.php\" contains information about connecting to the database (described \nabove) and other variables that are used throughout the application.\n\nCreate two directories to hold the submitted applications and letters of recommendation.  \nUpdate config.php with the paths to these directories:\n\n`$basedir = \"/path/to/applications/directory/\";`\n\n`$basedir2 = \"/path/to/letters/directory/\";`\n\nWe typically do not place these in a web-accessible directory so that the files\nare not available via URL. These directories must be writable by your webserver.\n\n\n=================================================================================\n\nApplication and Letter Submission Forms:\n\n1. Application Submission Form (application.php)\n\n  This is where the applicants will enter their application information and upload \n  documents related to their applications. Form validation is handled by the\n  \"jquery-validation\" plugin.\n\n  The script that processes the form is \"submit_app.php\". The form information \n  is entered into the database and a unique directory for the applicant is \n  automatically created containing their uploaded files. A PDF coversheet is \n  generated (using the FPDF library, included in this distribution) and appended \n  to their uploaded files. The resulting PDF file (coversheet + uploaded files) \n  is attached to the confirmation email that is sent to the applicant (using the \n  \"phpmailer\" library, included in this distribution).\n\n  *\n  The command-line tool \"pdftk\" is required to concatenate the PDF files. This \n  tool can be obtained here:\n  https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/\n  *\n\n  Upon successful form submission, the application page redirects to \"thankyou.php\".\n\n2. Letter Submission Form (letter.php)\n\n  This is where letters of recommendation are submitted. The letter-writers enter\n  their name and email address, the applicant's name and email address, and then \n  upload their letter. Form validation is handled by the \"jquery-validation\" plugin.\n\n  The script that processes the form is \"submit_letter.php\". The form information \n  is entered into the database, the letter is copied to the letters directory, and \n  a confirmation email is sent to both the applicant and the letter-writer.\n\n  Upon successful letter submission, the page redirects to \"thankyou2.php\".\n\n\n=================================================================================\n\nManaging Applications and Letters\n\nThe application and letter management area is password-protected and can be accessed \nthrough the \"login.php\" page. Usernames and passwords are stored in the \"users\" table \nas described above.  The script \"password_check.php\" validates passwords and directs \nusers to the \"welcome.php\" page upon successful login. The Welcome page lists two \noptions: \"View applications\" and \"View letters\".\n\n1. View Applications (list_apps.php)\n\n  This page lists the submitted applications. Basic information about each applicant\n  is listed, along with links to the submitted application materials (CV, research\n  statements, etc.). After the reference letters are moved to the applicant's individual\n  directory (details in next section), the \"Letters\" column will contain links to the\n  reference letters. A PDF document containing the coversheet and all of the application \n  materials (minus the letters) is available in this table (this is the same file that\n  was attached to the confirmation email to the applicant). Links to \"create\" and \"view\" \n  the final PDF application (including the letters) are in the last column.\n\n  To create the final application, after the required number of letters are submitted\n  and moved to the applicant's directory (see next section), click the \"create\" link. \n  This will concatenate all of the application materials, including the coversheet, \n  documents uploaded by the applicant, and all of their letters of recommendation into \n  one final PDF file. If the PDF is successfully created, the \"view\" link will become \n  active.\n\n  Occasionally some of the files to be concatenated are not real PDFs, which will \n  cause the concatenation to fail. In this case, the \"view\" link will not become \n  active or will not open properly. Check that all files to be concatenated are truly \n  PDFs, convert any if necessary, and re-click the \"create\" link.\n\n2. View Letters (list_letters.php)\n\n  This page lists the submitted letters of recommendation. The table lists both the \n  applicant's name and the referee's name, the date the letter was submitted, and a \n  link to the letter itself. The \"Select Applicant\" column contains a list of the\n  applicants' names, as entered by the applicants themselves on the application\n  submission page. The \"Move\" buttons in the \"Move Letter\" column can be used to move \n  a letter into the appropriate applicant's directory.\n\n  The letters are often submitted before the applications, so you may see several \n  letters for an applicant before their name shows up in the \"Select Applicant\" \n  column.\n\n  To move a letter, select the appropriate applicant's name in the \"Select Applicant\"\n  column and then press the \"Move\" button. The applicant's name in the \"Select\n  Applicant\" column might not exactly match the name in the \"Applicant Name\" column\n  because the former was entered by the applicant and the latter was entered by\n  the referee.\n\n  Once the letters are moved to an applicant's directory, the \"1\", \"2\", and \"3\" links\n  will become active in the \"Letters\" column in the \"View Applications\" page.  Once\n  all the letters have been moved, you can start creating the final versions of the\n  application as described in the previous section.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltech-ipac%2Ffellowship-software","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaltech-ipac%2Ffellowship-software","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltech-ipac%2Ffellowship-software/lists"}