Hi, I'm Candy, an Outreachy intern for the 2019 May-August round and I'm working on the debci project.
This is an excerpt from my Outreachy blog post: Outreachy Week 1 – Week 3: Working Remotely is Hard <https://stringpiggy.hpd.io/outreachy-week1-week3-working-remotely-is-hard/>. The mail only contains the project progress report part. Week 1: Vagrant During the application process, quite a few applicants were stuck at setting up the development environment for debci. I would like to improve the experience. At first, I used docker because I was more familiar with it. After finding an empty VagrantFile in the repository, I decided to try something new and went with vagrant. Learned some shell script and user permissions during the process and the biggest find was to use the debian/contrib-stretch64 box rather than debian/stretch64. The contrib version contains the guest addition stuff. Week 2: Starting First Tasks I worked on opening a self service section for users to requests tests themselves this week. Got stuck a little bit every step of the way, but not really stuck. Interesting finds that I would like to log: - For static file generation, create a symlink in public directory to the file to be generated in public/data/.html and add it to bin/debci-generate-html - Sinatra automatically loads layout.erb if it exists, and you can change set :views, <PATH> to change the default directory to store the erb files - In order to use Ruby to print to stdout when using foreman start you have to add $stdout.sync = true before the print runs - Use the general test API in order to fulfill all the user stories - Decide to use Ruby to generate dynamic HTML through erb templates, because it could be more customizable - Use Sinatra::ContentFor to seperate JavaScript files into the templates, and create dummy functions in lib/debci/html.rb for static file generation to work Week 3: Searching, Pagination & UX This week, besides the Self Service section, I also tried fixing the search package part of the index page. Currently it just takes what the user inputs and redirect them to the page which may or may not exist. Things I did or should log down for this week: - Dependencies are managed here: Build-Depends: in debian/control - Learned to query data with ActiveRecord and used kaminari <https://github.com/kaminari/kaminari> for pagination - Fixed API documentation link in the Debian WIKI Page: https://wiki.debian.org/ContinuousIntegration/DebianSetup - Sketched out a draft UI for Self Service section We discussed and decided to work on non-JS versions of the Self Service Section. With JavaScript enabled, the UX will be more complicated which requires more time to generate the whole concept and I would like things to work first since it doesn't exist yet. Cheers, Candy Tsai (IRC: kandi)
