{"id":119,"date":"2015-02-05T10:51:42","date_gmt":"2015-02-05T10:51:42","guid":{"rendered":"http:\/\/www.arxcruz.net\/?p=119"},"modified":"2015-02-05T10:51:42","modified_gmt":"2015-02-05T10:51:42","slug":"new-small-project-stackquery-dashboard","status":"publish","type":"post","link":"https:\/\/arxcruz.net\/index.php\/2015\/02\/05\/new-small-project-stackquery-dashboard\/","title":{"rendered":"New small project: stackquery-dashboard"},"content":{"rendered":"<p style=\"text-align: justify;\">I\u2019ve started a new project called <a href=\"http:\/\/github.com\/arxcruz\/stackquery-dashboard\">stackquery-dashboard<\/a>. Basically, it\u2019s a web interface to show reports about user contribution in <a href=\"http:\/\/www.openstack.org\">OpenStack<\/a>, using the\u00a0<a href=\"http:\/\/stackalytics.com\/\">stackalytics.com<\/a>\u00a0API and part of the code from <a href=\"https:\/\/github.com\/mkollaro\/launchpadstats\">launchpadstats<\/a>\u00a0from\u00a0\u00a0<a href=\"http:\/\/mkollaro.github.io\/\">Martina Kollarova<\/a>.<\/p>\n<p style=\"text-align: justify;\">The first reason I start this project is because stackalytics.com only shows reports for each user, and sometimes managers in companies working with OpenStack, need a overview of all their employees at once, and it\u2019s kinda boring to look for each user and then mount a spreadsheet.<\/p>\n<p style=\"text-align: justify;\">The project have a Web interface, where you can create teams, assign users for these teams and generate reports based on several OpenStack projects (actually, right now it\u2019s only Openstack and Stackforge).<\/p>\n<p style=\"text-align: justify;\">The second reason is because for a long time I wanted to use Python for web, and it was a good opportunity to start.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/flask.pocoo.org\/\">Flask<\/a> is really amazing and very easy to learn. I read <a href=\"http:\/\/www.amazon.com\/gp\/product\/B00ESX15VS\/ref=oh_aui_d_detailpage_o00_?ie=UTF8&amp;psc=1\">this book<\/a> and in one day I was already doing some cool stuff.<br \/>\nAlso, since I\u2019m not a Web designer, I had the opportunity to learn about <a href=\"getbootstrap.com\">Twitter bootstrap<\/a>, which is very good for people who have no idea how CSS and JavaScript works and don\u2019t want to waste a lot of time learning before start some project using these technologies.<\/p>\n<p style=\"text-align: justify;\">The project is very simple, and still in the earlier stages. I\u2019m not sure if it will be useful for anyone, but if is, please, let me know. I would be glad to hear about it.<\/p>\n<h6>Next steps<\/h6>\n<ul>\n<li>I need to work on the unit tests (yes, I started the project before create the unit tests, but I\u2019ll fix it soon)<\/li>\n<li>Documentation<\/li>\n<li>More API\u2019s<\/li>\n<li>More types of reports<\/li>\n<li>Make the project work with modules so you can have modules enabled for other types of reports<\/li>\n<li>Create a config file<\/li>\n<li>Save the state in the forms between posts<\/li>\n<li>Better message system when delete, update and create teams, users, projects, etc.<\/li>\n<li>Can\u2019t think anything else for now.<\/li>\n<\/ul>\n<p>And if you\u2019re interested, here\u2019s a few screenshots:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.10.png\"><img class=\"size-full wp-image-120 alignnone\" src=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.10.png?resize=840%2C498\" alt=\"Screen Shot 2015-02-05 at 10.56.10\" \/><\/a> <a href=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.17.png\"><img class=\"aligncenter size-full wp-image-121\" src=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.17.png?resize=840%2C498\" alt=\"Screen Shot 2015-02-05 at 10.56.17\" \/><\/a> <a href=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.25.png\"><img class=\"aligncenter size-full wp-image-122\" src=\"https:\/\/i2.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.56.25.png?resize=840%2C498\" alt=\"Screen Shot 2015-02-05 at 10.56.25\" \/><\/a><a href=\"https:\/\/i1.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.57.08.png\"><br \/>\n<img class=\"aligncenter size-full wp-image-124\" src=\"https:\/\/i1.wp.com\/vps106584.vps.ovh.ca\/wp-content\/uploads\/2015\/02\/Screen-Shot-2015-02-05-at-10.57.08.png?resize=840%2C498\" alt=\"Screen Shot 2015-02-05 at 10.57.08\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve started a new project called stackquery-dashboard. Basically, it\u2019s a web interface to show reports about user contribution in OpenStack, using the\u00a0stackalytics.com\u00a0API and part of the code from launchpadstats\u00a0from\u00a0\u00a0Martina Kollarova. The first reason I start this project is because stackalytics.com only shows reports for each user, and sometimes managers in companies working with OpenStack, need &hellip; <a href=\"https:\/\/arxcruz.net\/index.php\/2015\/02\/05\/new-small-project-stackquery-dashboard\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;New small project: stackquery-dashboard&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[2,1],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8bIYB-1V","jetpack-related-posts":[{"id":153,"url":"https:\/\/arxcruz.net\/index.php\/2017\/09\/21\/debugging-tempest\/","url_meta":{"origin":119,"position":0},"title":"Debugging tempest","date":"September 21, 2017","format":false,"excerpt":"Introduction One of the common tasks when you're working on TripleO is to debug tempest when you found some failures. This is very important because once you found an error, you need to provide all the information needed when you're gonna fill a bug, or you can even actually, find\u2026","rel":"","context":"In &quot;OpenStack&quot;","img":{"alt_text":"","src":"https:\/\/i2.wp.com\/arxcruz.net\/wp-content\/uploads\/2017\/09\/Selection_005-300x207.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":138,"url":"https:\/\/arxcruz.net\/index.php\/2015\/06\/09\/c-cedilha-no-fedora-22\/","url_meta":{"origin":119,"position":1},"title":"C cedilha no Fedora 22","date":"June 9, 2015","format":false,"excerpt":"\u00c9 sempre comum, ap\u00f3s um upgrade termos o problema do \u00e7 aparecer como \u0107, para quem usa teclado padr\u00e3o US. No Fedora 22 eu encontrei essa solu\u00e7\u00e3o, que para mim foi muito mais simples do que ficar editando um monte de arquivo. Lembrando que pode ser feito tamb\u00e9m no modo\u2026","rel":"","context":"In &quot;GNOME&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":127,"url":"https:\/\/arxcruz.net\/index.php\/2015\/06\/13\/writing-tests-in-python-for-beginners-part-1-doctest\/","url_meta":{"origin":119,"position":2},"title":"Writing tests in python for beginners - Part 1 - doctest","date":"June 13, 2015","format":false,"excerpt":"So, I just started an interest on python tests and I would like to share what I learned so far. Let\u2019s skip all that theory about how tests are important for the code, bla bla bla, if you want to learn test, probably you already have your own reason, so,\u2026","rel":"","context":"In &quot;Development&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/posts\/119"}],"collection":[{"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":0,"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"wp:attachment":[{"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arxcruz.net\/index.php\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}