{"id":22307622,"url":"https://github.com/cianhub/issue-tracker","last_synced_at":"2026-04-07T21:31:59.546Z","repository":{"id":97236465,"uuid":"139441088","full_name":"CianHub/issue-tracker","owner":"CianHub","description":" This application is an issue tracker/new feature request platform for a theoretical app. The 'Great Idea Issue Tracker' is a responsive web application that allows users to create, upvote, pay for, comment on, update, view progress on, delete and read tickets containing bugs or new feature suggestions. The app was developed as a platform from which an existing platform can be improved and a team can receive constructive criticism and suggestions from their customers.","archived":false,"fork":false,"pushed_at":"2018-08-17T13:32:54.000Z","size":7737,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-29T21:37:18.201Z","etag":null,"topics":["bootstrap","css3","data-visualization","django","full-stack-web-development","heroku-deployment","html5","javascript","jquery","python3","user-management"],"latest_commit_sha":null,"homepage":"https://issue-tracker-cian.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CianHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-07-02T12:31:51.000Z","updated_at":"2022-12-19T21:18:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"af96e07b-88df-4b8f-99c9-dfdf2d3579f6","html_url":"https://github.com/CianHub/issue-tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CianHub/issue-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CianHub%2Fissue-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CianHub%2Fissue-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CianHub%2Fissue-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CianHub%2Fissue-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CianHub","download_url":"https://codeload.github.com/CianHub/issue-tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CianHub%2Fissue-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31530641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bootstrap","css3","data-visualization","django","full-stack-web-development","heroku-deployment","html5","javascript","jquery","python3","user-management"],"created_at":"2024-12-03T20:10:45.694Z","updated_at":"2026-04-07T21:31:59.525Z","avatar_url":"https://github.com/CianHub.png","language":"JavaScript","readme":"# Great Idea Issue Tracker \n\nThe Great Idea Issue Tracker is a responsive web application that allows users to create, upvote, pay for, comment on, update, view progress on, delete and read tickets containing bugs or new feature suggestions. The app was developed as a platform from which an existing platform can be improved and a team can recieve constructive criticism and suggestions from their customers.\n \n## UX\n\n### User Stories\n\nBefore beginning development on the site, several user stories were created to determine who a visitor to the site could be and what they might want from the site:\n\n- \"As a user I want to be able to create tickets for bugs/features, upvote and view existing tickets, see how many hours are spent working on bugs/features per day/week/month and see what the highest voted tickets are.”\n\n- \"As a customer, I want to be able to see where my money is going and the progress being made on the project. I also want to be able to have a say on the direction of the product and see what other customers think.\"\n\n### Design\n\nThe application utilises a minimal responsive design based upon a heavily modified version of the [creative bootstrap theme](https://startbootstrap.com/template-overviews/creative/). \n\nThe goal of the apps UX design was to keep everything as minimal as possible, while avoiding the app feeling empty and to provide quick and easy navigation for the user. The application was designed with a consistent colour palette, animation speed and layout e.g. each button has a consistent colour scheme such as blue for edit and red for delete across the app regardless of context (like a comment, a ticket or a user). \n\nLinks are present where a user might instinctively look for one e.g. the title of a ticket or a username. Elements of the app were reduced for mobile users in order to provide the minimum necessary information such as in the the various tables etc due to the smaller screen space.\n\n## Features\n\nThe application has several features:\n\n1. There are 3 roles: user, staff and superuser.\n2. Users can browse the existing tickets in the database.\n2. Users can create their own tickets.\n3. Users can edit or delete their existing tickets.\n4. Users can upvote, see the status of and comment on existing tickets.\n5. Users can register, view and login to their account.\n6. Users must make a payment to create or upvote a new feature ticket.\n7. Users can upvote or create a bug ticket for free.\n8. Users can view progress on tickets being worked on.\n9. If new tickets have been created since the users last login, the user is shown a notification upon their next login.\n10. A staff member can do all of the above plus edit/delete any ticket or comment and view the user list page.\n11. A superuser can do all of the above plus edit/delete users on the user list page and promote users to staff members.\n\n## Technologies Used\n\n- [HTML](https://www.w3.org/)\n    - The project uses **HTML** to create the website.\n\n- [CSS](https://www.w3.org/)\n    - The project uses **CSS** to style the website.\n\n- [Bootstrap](https://getbootstrap.com/docs/3.3/)\n    - The project uses **Bootstrap** to style the site and user experience.\n\n- [JavaScript](https://developer.mozilla.org/bm/docs/Web/JavaScript)\n    - The project uses **JavaScript** to use Bootstrap functions.\n\n- [JQuery](https://jquery.com/)\n    - The project uses **JQuery** to manipulate the DOM.\n\n- [Python](https://www.python.org/)\n    - The project uses **Python** to write the sites logic.\n\n- [Django](https://www.djangoproject.com/)\n    - The project uses **Django** for the apps backend (server, testing, load templates etc.). \n\n- [PostgreSQL](https://www.postgresql.org/)\n    - The project uses **PostgreSQL** for the apps database. \n\n- [HighCharts](https://www.highcharts.com/)\n    - The project uses **HighCharts** to display chart data. \n\n## Testing\n\nIn the development of this application testing consisted entirely of automated tests using the django unittest package.\n\n### Automated Testing\n\nTo run tests, in the CLI enter:\n```\n$ python3 manage.py test\n```\n\n### Known Bugs\n\nThe console will show an error on the progress page (HighCharts error #16) due to HighCharts being defined twice on the page. This console error has no effect on the apps functionality and is due to the JS being loaded in the document head. Unfortunately due to ChartKick's requirements the JS must be loaded this way in order to function correctly.\n\n## Planning\n\n### Database Schema\n\nThe initial conceptual database schema for the app can be found in the file Great Idea - Issue Tracker_ Preliminary Planning.pdf included in this repository.\n\nA PostgreSQL database was chosen as it integrated well with Django and granted a lot of flexibility. When drawing up the schema, the aim was to keep the data as modular as possible. The other major consideration was how each table relates to each other.\n\nFor example, the user table connects to the ticket table via the author field, the ticket table connects to the ticket type table via the ticket field, the comment table connects to the ticket table via the ticket field, the ticket time table connects to the ticket field via the ticket field.\n\n### Preliminary Planning Document\n\nThe preliminary planning conducted before development began (including user stories, outline of functionality, inital conceptual database schema etc.) can be found in the repository under the name Great Idea - Issue Tracker_ Preliminary Planning.pdf.\n\n## Deployment\n\nThis project was deployed to Heroku with Gunicorn. Inside Heroku's config vars the DATABASE_URL, SECRET_KEY, STRIPE_PUBLISHABLE, STRIPE_SECRET, HOSTNAME, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD were set. The PostgreSQL database is hosted with the Heroku add-on Heroku PostgreSQL.\n\nThe Project can be viewed at: \u003chttps://issue-tracker-cian.herokuapp.com/\u003e\n\n## Installation\n\n1. Ensure Python3, pip, Django v1.11 and Virtualenv are installed.\n2. Clone repository.\n4. Go to the repository folder.\n5. Setup the virtualenv instance: ```$ python3 -m virtualenv env```\n6. Active the virtualenv instance: ```$ source env/bin/activate```\n7. Install required packages from requirements.txt: ```$ pip install -r requirements.txt``` \n8. In the CLI enter: ``` $ python manage.py runserver ```\n9. Set envionmental variables (see .env.example).\n\n## Credits\n\n### Acknowledgements\n\n- The projects design is based on a heavily modified version of the [creative bootstrap theme](https://startbootstrap.com/template-overviews/creative/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcianhub%2Fissue-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcianhub%2Fissue-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcianhub%2Fissue-tracker/lists"}