{"id":208,"date":"2023-01-10T18:29:33","date_gmt":"2023-01-10T18:29:33","guid":{"rendered":"https:\/\/trewest.dev\/blog\/?p=208"},"modified":"2023-12-05T09:34:35","modified_gmt":"2023-12-05T09:34:35","slug":"project-bugtrakt","status":"publish","type":"post","link":"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/10\/project-bugtrakt\/","title":{"rendered":"Project: Bugtrakt"},"content":{"rendered":"<div class=\"wp-post-series-box series-project-overviews wp-post-series-box--expandable\">\n\t\t\t<input id=\"collapsible-series-project-overviews69e8d09add664\" class=\"wp-post-series-box__toggle_checkbox\" type=\"checkbox\">\n\t\n\t<label\n\t\tclass=\"wp-post-series-box__label\"\n\t\t\t\t\tfor=\"collapsible-series-project-overviews69e8d09add664\"\n\t\t\ttabindex=\"0\"\n\t\t\t\t>\n\t\t<p class=\"wp-post-series-box__name wp-post-series-name\">\n\t\t\tThis is post 1 of 21 in the series <em>&ldquo;Project Overviews&rdquo;<\/em>\t\t<\/p>\n\t\t\t\t\t<div class=\"wp-post-series-box__description wp-post-series-description\">\n\t\t\t\t<p>A series of posts detailing and highlighting projects that I&#8217;ve made.<\/p>\n\t\t\t<\/div>\n\t\t\t<\/label>\n\n\t\t\t<div class=\"wp-post-series-box__posts\">\n\t\t\t<ol>\n\t\t\t\t\t\t\t\t\t<li><span class=\"wp-post-series-box__current\">Project: Bugtrakt<\/span><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/10\/project-imgalib\/\">Project: Imgalib<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/10\/project-go-fish\/\">Project: Go Fish!<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/11\/project-trewest-dev\/\">Project: trewest.dev<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/11\/arduino-light-effects\/\">Arduino Light effects<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/11\/project-mini-stacker\/\">Project: Mini Stacker<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/12\/project-arduino-nes-controller\/\">Project: Arduino NES Controller<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/12\/project-metroidvania-like\/\">Project: Metroidvania-Like<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/12\/project-susminer\/\">Project: Susminer<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/12\/project-farming-demo\/\">Project: Farming Demo<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/13\/project-vrc-basement\/\">Project: VRC Basement<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/13\/project-hash-clear\/\">Project: Hash Clear<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/13\/project-titan-help\/\">Project: Titan Help<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/13\/project-computer-craft-scripts\/\">Project: Computer Craft Scripts<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/15\/project-esp8266-plant-watering\/\">Project: ESP8266 Plant Watering<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/15\/project-golf-demo\/\">Project: Golf Demo<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/01\/15\/project-ghost-holic\/\">Project: Ghost Holic<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2023\/03\/27\/project-multi-chat-viewer\/\">Project: Multi-Chat Viewer<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2024\/08\/22\/project-interview-simulator\/\">Project: Interview Simulator<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2024\/10\/18\/project-healers-journey\/\">Project: Healer&#8217;s Journey<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<li><a href=\"https:\/\/trewest.dev\/blog\/index.php\/2024\/10\/18\/project-biota\/\">Project: Biota<\/a><\/li>\n\t\t\t\t\t\t\t<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n<p>Status: <span style=\"color:green;\">Complete<\/span><br>Type: Website<\/p>\n\n\n\n<p>Bugtrakt was a project that I did as a capstone of my Associates in Science for Computer Programming and Analysis.  The project given to me was to create bug tracking software complete with it&#8217;s own database solution.  For this project I used a LAMP stack running on Ubuntu, which means the primary coding language was PHP while utilizing MySQL as the Database solution.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"539\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12-1024x539.png\" alt=\"\" class=\"wp-image-217\" srcset=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12-1024x539.png 1024w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12-300x158.png 300w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12-768x404.png 768w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12-1536x809.png 1536w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-12.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Front page of Bugtrakt.tk<\/figcaption><\/figure>\n\n\n\n<p>The project itself has many moving parts.  Firstly there&#8217;s users which have to log in to access their projects.  They&#8217;ll see updates, tickets that they&#8217;ve been assigned to, and tickets they&#8217;ve made recently on their landing page.  A part of me really wishes I had more ideas for styling these pages back then but the project was primarily to assess back end skill rather than front end.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"710\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11-1024x710.png\" alt=\"\" class=\"wp-image-216\" srcset=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11-1024x710.png 1024w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11-300x208.png 300w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11-768x532.png 768w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11-1536x1065.png 1536w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-11.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">What users see when they&#8217;re logged in.<\/figcaption><\/figure>\n\n\n\n<p>Then there&#8217;s Projects which a user has to be part of to access tickets.  Projects can be private which makes them only work when you invite users.  Projects have their own pages for management reasons.<\/p>\n\n\n\n<div class=\"alignnormal\"><div id=\"metaslider-id-220\" style=\"width: 100%;\" class=\"ml-slider-3-108-0 metaslider metaslider-flex metaslider-220 ml-slider has-dots-nav ms-theme-default\" role=\"region\" aria-label=\"Bugtrakt Projects\" data-height=\"300\" data-width=\"700\">\n    <div id=\"metaslider_container_220\">\n        <div id=\"metaslider_220\">\n            <ul class='slides'>\n                <li style=\"display: block; width: 100%;\" class=\"slide-222 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:31:07\" data-filename=\"image-13-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-13-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-220 slide-222 msDefaultImage\" title=\"image-13\" \/><\/li>\n                <li style=\"display: none; width: 100%;\" class=\"slide-223 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:31:14\" data-filename=\"image-5-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-5-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-220 slide-223 msDefaultImage\" title=\"image-5\" \/><\/li>\n                <li style=\"display: none; width: 100%;\" class=\"slide-224 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:31:19\" data-filename=\"image-6-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-6-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-220 slide-224 msDefaultImage\" title=\"image-6\" \/><\/li>\n                <li style=\"display: none; width: 100%;\" class=\"slide-225 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:31:22\" data-filename=\"image-7-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-7-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-220 slide-225 msDefaultImage\" title=\"image-7\" \/><\/li>\n            <\/ul>\n        <\/div>\n        \n    <\/div>\n<\/div><\/div>\n\n\n\n<p>Which then leads to the tickets which has a variety of states that are possible, such as Open, Active, Inactive, and closed.  There&#8217;s also priorities and difficulties that can be used to filter and sort tickets, which is very important for productivity reasons!  Below the tickets there&#8217;s even comments that can be replied to.  Comment replies are all grouped together similar to how YouTube or Forum software handles comments as opposed to Reddit where every reply is nested in the parent comment.  Deleting and Editing comments and tickets are both completely possible.  Users can be assigned to tickets to handle the bug described in them as well.<\/p>\n\n\n\n<div class=\"alignnormal\"><div id=\"metaslider-id-227\" style=\"width: 100%;\" class=\"ml-slider-3-108-0 metaslider metaslider-flex metaslider-227 ml-slider has-dots-nav ms-theme-default\" role=\"region\" aria-label=\"Bugtrakt Tickets\" data-height=\"300\" data-width=\"700\">\n    <div id=\"metaslider_container_227\">\n        <div id=\"metaslider_227\">\n            <ul class='slides'>\n                <li style=\"display: block; width: 100%;\" class=\"slide-228 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:33:04\" data-filename=\"image-10-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-10-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-227 slide-228 msDefaultImage\" title=\"image-10\" \/><\/li>\n                <li style=\"display: none; width: 100%;\" class=\"slide-229 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:33:14\" data-filename=\"image-8-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-8-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-227 slide-229 msDefaultImage\" title=\"image-8\" \/><\/li>\n                <li style=\"display: none; width: 100%;\" class=\"slide-231 ms-image \" aria-roledescription=\"slide\" data-date=\"2023-01-10 18:33:19\" data-filename=\"image-9-700x300.png\" data-slide-type=\"image\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-9-700x300.png\" height=\"300\" width=\"700\" alt=\"\" class=\"slider-227 slide-231 msDefaultImage\" title=\"image-9\" \/><\/li>\n            <\/ul>\n        <\/div>\n        \n    <\/div>\n<\/div><\/div>\n\n\n\n<p>Sadly, the live version of the project doesn&#8217;t work properly anymore.  It&#8217;s been years since I worked with it, and for the most part my on hand knowledge of PHP is a little rusty since I primarily use it for convenience when making primarily HTML sites, so I won&#8217;t be updating it anytime soon for demonstration purposes.  The version running on my development server (WAMP64) works fine, so there&#8217;s a few possibilities as to why, but it likely comes down to differences in versions of PHP, and the use of SSL changing how some server behaviors work, but you&#8217;re welcome to still visit it.  If you want to see the backbone I didn&#8217;t restrict the bug tracker exclusively to logged in users so you can view it at bugtrakt.tk\/tracker\/ and browse around.  You can even comment while not logged in which is a pretty big oversight!  The same goes for projects but not tickets, so you can weirdly have projects that belong to nobody.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"638\" height=\"223\" src=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-4.png\" alt=\"\" class=\"wp-image-209\" srcset=\"https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-4.png 638w, https:\/\/trewest.dev\/blog\/wp-content\/uploads\/2023\/01\/image-4-300x105.png 300w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><figcaption class=\"wp-element-caption\">A project created by &#8220;No one&#8221; (which I error handle my username resolver to) Spooky!<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bugtrakt was a project that I did as a capstone of my Associates in Science for Computer Programming and Analysis.  The project given to me was to create bug tracking software&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,33,8,32],"tags":[30,15,31],"post_series":[53],"class_list":["post-208","post","type-post","status-publish","format-standard","hentry","category-coding","category-php","category-project","category-website","tag-php","tag-project","tag-website","post_series-project-overviews"],"_links":{"self":[{"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/posts\/208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=208"}],"version-history":[{"count":4,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/posts\/208\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/posts\/208\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=208"},{"taxonomy":"post_series","embeddable":true,"href":"https:\/\/trewest.dev\/blog\/index.php\/wp-json\/wp\/v2\/post_series?post=208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}