Project Title: Augmenting and Updating PSC Allocations and Account Management Infrastructure
Rob Light PSC
Ed Hanna, PSC
Ken Hackworth, PSC
This project will be to augment and update many components in the PSC’s aging allocations and account management infrastructure. The team will develop new features to this system and replace existing features using Ruby on Rails, RESTful APIs and a Postgresql relational database and interact with OpenLDAP, Kerberos, and third party Software as a Service APIs. Examples of tasks include: create API end points for adding a user to PSC’s account management system; build a web app to allow a leader of an allocated PSC project to give additional users access to the project; process POST API requests from a third party system to create or renew an allocation on PSC resources; using legacy perl code as an example create API end points to manipulate OpenLDAP and Kerberos user account info. This is a development learning opportunity for the students to learn about many aspects of Ruby on Rails development, RESTful API interaction, relational databases, dealing with legacy code and more.
PSC has a broad range of infrastructure to allow scientific investigators to submit proposals for high performance computing, scientific visualization, data storage, and extended collaborative support resources; allow third party reviewers to review and recommend awards to resources; allow PSC staff to propagate those awards and accounts to PSC resources, maintain accounting for those rewards and future reviews; as well as give the PI and Account Managers access to their information and PSC infrastructure.
This infrastructure in many cases is nearly 20 year old Perl code with some PHP and new features patched in along the way. This code is difficult to reuse or change without breaking things. New features have been developed in rails with APIs. As we move forward adding new features we would also like to re-implement the legacy dependencies those features will require.
Learning Ruby on Rails, Postgresql and RESTful API design and use.
- New features added to our allocations and account management system
- Process POST requests for new and renewal projects from a third party SaaS
- Project leaders can add new users to their projects without PSC Staff intervention
- Provide API endpoints so that new functionality can be easily reused.
- Re-implement existing features such as managing account data in OpenLDAP as API endpoints
Computer Science, Information Science or interest in software engineering. Some web development experience preferred.
Please submit your resume and cover letter to Vivian Benton, firstname.lastname@example.org.