Assignment 1
Assignment 1
GitHub:
Definition:
At a high level, GitHub is a website and cloud-based service that helps developers store
and manage their code, as well as track and control changes to their code. To
understand exactly what GitHub is, you need to know two connected principles:
Version control: Version control helps developers track and manage changes to a
software project's code. As a software project grows, version control becomes essential.
Take WordPress... At this point, WordPress is a pretty big project. If a core developer
wanted to work on one specific part of the WordPress codebase, it wouldn't be safe or
efficient to have them directly edit the "official" source code. Instead, version control lets
developers safely work through branching and merging. With branching, a developer
duplicates part of the source code (called the repository). The developer can then safely
make changes to that part of the code without affecting the rest of the project. Then,
once the developer gets his or her part of the code working properly, he or she can
merge that code back into the main source code to make it official. All of these changes
are then tracked and can be reverted if need be.
Git: Git is a specific open-source version control system created by Linus Torvalds in
2005. Specifically, Git is a distributed version control system, which means that the
entire codebase and history is available on every developer's computer, which allows for
easy branching and merging. According to a Stack Overflow developer survey, over 87%
of developers use Git. - Usage! Gitis a version control system used for tracking changes
in computer files, making it a top-rated utility for programmers world-wide. Git can
handle projects of any size. Git is used to coordinate the workflow among project team
members and track their progress over time. It also benefits both programmers and non-
technical users by keeping track of their project files. Git allows multiple users to work
together without disrupting each other's work. Now that you've been introduced to Git,
you have the foundation needed to understand what is GitHub better.
(https://www.simplilearn.com/tutorials/git-tutorial/what-is-github 2)
In this article, we'll first explain those two principles. Then, we'll dig into more about
GitHub and how you can use GitHub to work with WordPress and/or Kinsta. GitHub is a
for-profit company that offers a cloud-based Git repository hosting service. Essentially, it
makes it a lot easier for individuals and teams to use Git for version control and
collaboration. GitHub's interface is user-friendly enough so even novice coders can take
advantage of Git. Without GitHub, using Git generally requires a bit more technical savvy
and use of the command line. GitHub is so user-friendly, though, that some people even
use GitHub to manage other types of projects - like writing books. Additionally, anyone
can sign up and host a public code repository for free, which makes GitHub especially
popular with open-source projects. As a company, GitHub makes money by selling hosted
private code repositories, as well as other business-focused plans that make it easier for
organizations to manage team members and security. We utilize Github extensively at
Kinsta to manage and develop internal projects.
(https://kinsta.com/knowledgebase/what-is-github/3)
GitHub is an increasingly popular programming resource used for code sharing. It's a
social networking site for programmers that many companies and organizations use to
facilitate project management and collaboration. According to statistics collected in
October 2020, it is the most prominent source code host, with over 60 million new
repositories created in 2020 and boasting over 56 million total developers. GitHub is a Git
repository hosting service that provides a web-based graphical interface. It is the world's
largest coding community. Putting a code or a project into GitHub brings it increased,
widespread exposure. Programmers can find source codes in many different languages
and use the command-line interface, Git, to make and keep track of any changes. GitHub
helps every team member work together on a project from any location while facilitating
collaboration. You can also review previous versions created at an earlier point in time.
So now we know what Git and GitHub are. Time to gain a better understanding of the
importance and relevance of what is GitHub by exploring its features.
(https://www.simplilearn.com/tutorials/git-tutorial/what-is-github2) GitHub is a code
hosting platform for version control and collaboration. It lets you and others work
together on projects from anywhere.
(https://docs.github.com/en/get-started/quickstart/hello- world1) Today, GitHub is one of
the most popular resources for developers to share code and work on projects together.
It's free, easy to use, and has become central in the movement toward open- source
software. GitHub is an online software development platform. It's used for storing,
tracking, and collaborating on software projects. It makes it easy for developers to share
code files and collaborate with fellow developers on open-source projects. GitHub also
serves as a social networking site where developers can openly network, collaborate, and
pitch their work. (https://blog.hubspot.com/website/what-is-github-used-for#:~:text=It's
%20used%20for%20storing %2C%20tracking,collaborate%2C%20and%20pitch%20their
%20work4)
The version control system, or VCS, is the element in Git that is best suited for tackling
Decathlon's two problems. So, let's expand our knowledge of GitHub by taking a closer
look at the Git version control system and see why it's such a game-changer. What is a
Version Control System? The Git version control system, as the name suggests, is a
system that records all the modifications made to a file or set of data so that a specific
version may be called up later if needed. The system makes sure that all the team
members are working on the file's latest version, and everyone can work simultaneously
on the same project.
(https://www.simplilearn.com/tutorials/git-tutorial/what-is-github 5)
(https://www.codeclouds.com/blog/advantages-disadvantages-using-github/
#:~:text=Potential %20Drawback%3A%20Difficult%20To%20Use%20For
%20Beginners&text=New%20users%20can %20find%20the,and%20arguments%20in
%20the%20software6) Safety disadvantages
https://rewind.com/blog/is-github-still-safe-to-use/#:~:text=Whether%20on %2Dpremise
%20or%20in,you%20and%20your%20cloud%20provider8 Pros and cons from a dev –
https://smashinghub.com/understand-the-pros-and-cons-of-using- github.htm7
Interesting advantages:
https://blog.hubspot.com/website/what-is-github-used-for#:~:text=It's %20used%20for
%20storing%2C%20tracking,collaborate%2C%20and%20pitch%20their%20work
Usage and Ratings:
Exploring The GitHub Interface - To give you a basic understanding of what the GitHub
interface looks like. From here, you can view the various branches that are being worked
on, as well as when someone made a commit (this is kind of like "saving" a file).
Depending on how a repository is set up, you also might be able to create your own
branch and make your own commits there. And once you made some changes, you could
submit that code back to a branch by making a pull request. A pull request is basically
asking the person in charge of the branch to include your code. And it also helps that
person see exactly what you've changed in the code. If you wanted to edit some or all of
the WordPress source code on your own account on a more permanent basis, you could
also fork it by clicking the Fork button (a fork is similar in concept to a branch, but a fork
is more permanent. (https://kinsta.com/knowledgebase/what-is- github/) 9
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.100494711 Project
managers can structure projects to manage permissions at different levels: users, teams,
and organizations. Users are the central element of GitHub as in any other social
network. Every user has a profile listing their GitHub projects and activities, which can
optionally be populated with personal information including name, email address, image,
and webpage. And, although the majority of GitHub repositories are used for software
development, users can also keep text documents such as analysis reports and
manuscripts (see, for example, the repository for this manuscript
at https://github.com/ypriverol/github- paper). (11)
Definition:
Jira Software is the #1 agile project management tool used by teams to plan, track,
release and support world-class software with confidence. It is the single source of truth
for your entire development lifecycle, empowering autonomous teams with the context
to move quickly while staying connected to the greater business goal. Whether used to
manage simple projects or to power your DevOps practices, Jira Software makes it easy
for teams to move work forward, stay aligned, and communicate in context.
Who uses Jira Software? – USAGE - Jira Software launched in 2002 as an issue tracking
and project management tool for teams. Since then, 65,000+ companies globally have
adopted Jira for its flexibility to support any type of project and extensibility to work with
thousands of apps and integrations. Agile teams, Bug tracking teams, DevOps teams,
Product management teams, Project management teams, Software development teams.
Dig into specific features Jira Software supports any agile project management
methodology for software development that your team might need. From agile planning
to fully customizable Kanban and Scrum boards, Jira gives you the tools you need to
estimate, report and measure velocity with workflows designed to fit your frameworks.
Boards Roadmaps Insights Integrations
(https://www.atlassian.com/software/jira/guides/getting-started/introduction#what-is-jira-
software)
What Is Jira? Jira is a software application developed by the Australian software
company Atlassian that allows teams to track issues, manage projects, and automate
workflows.
Key Jira concepts - Jira is based on four key concepts: issue, project, board,
and workflow.
Issue - An issue is a single work item you track from creation to completion. An issue
could be a bug, a user story, an epic, a to-do item for an HR team, or an artifact that your
documentation team needs to create. People may refer to issues as requests, tickets, or
tasks. It's better to use issues or the specific issue types that you define to avoid
confusion. Most product teams typically use issue types of Epic, Story, Bug, Test, and
Task.
Projects - A project is a way to group your issues along with the common information
and context that tie those issues together. You can configure issues associated with a
project in a variety of ways, including visibility restrictions and applicable workflows.
When you use Jira to support your product development efforts, it's helpful to have a
single project for each product.
Boards - A board in Jira is a visual representation of your team's workflow within a
project. You can use multiple boards for flexible ways to view, manage, and report on
work in progress on the same project. If you use an agile approach, you may find it
helpful to use a Kanban Board view to track backlog items as they refine and a Sprint
Board to show the Sprint Backlog for your current sprint.
Workflows - A workflow represents the path that issues take as they progress through
your project from creation to completion. Each label in a workflow, such as To Do, In
Progress, and Done, represent a status that an issue can take. You can configure
workflows to govern the transitions an issue can take between different statuses and
trigger actions that occur when an issue moves into a status.
What is the history of Jira? Atlassian started as a tech support service. Since the
founders were having difficulty generating revenue initially, they sold the software they
had developed to support their business (the Atlassian Support System) as Jira in 2002.
Atlassian named its product after "Gojira," which means Godzilla in Japanese. The idea
for the name came about because, before they developed the tool, Atlassian's coders
used a bug-tracking software tool called Bugzilla. Atlassian originally designed Jira for
software developers, but over the years adopted it for different types of companies.
(https://www.productplan.com/glossary/jira/) 2
Project management can be a cost, time-consuming, and complicated process for many
organizations. JIRA is the perfect tool for organizing tasks and managing agile teams. One
of the most popular open-source testing software tools - JIRA is trusted by over 65,000
companies worldwide, including giants like Spotify, Cisco, eBay, Square and Airbnb. This
issue tracking tool is mainly used to track, organize and prioritize issues, bugs, features
and tasks related to software and mobile apps. Our JIRA article covers all topics: what is
JIRA, what is JIRA used for, its features, JIRA workflow, components, etc.
Advantages of JIRA
bug tracking tool that allows software developers to plan, track and work faster
main source of information for future software release - Developers can plan new
features to be added and bugs to be fixed in the next release.
organise documentation tasks
track documentation progress
helps meet deadlines
provides faster feedback
integration available with third-party software
Disadvantages of JIRA
restricted file size upload
reports generated are not re-usable
complicated user interface
Additional Advantages:
Excellent reporting The biggest advantage that sets Jira apart from other project
management tools is its fantastic reporting. The Jira Software hosts 16 reports with
elaborate progress statistics and insights to help software teams intricately analyze their
projects' performance. As such, Jira can help project managers obtain actionable data
about performance on a task, team member, project, or team as a whole.
Another significant benefit of using Jira is accessing its array of powerful agile tools.
Conducting scrum and agile project management is what Jira is used for. With its multiple
kanban and scrum boards, your teams can seamlessly visualize workflows and track
project progress in real-time. Consequently, managers can identify which team members
and tasks are doing well and which aren't progressing as predicted. Plus, Jira provides
various agile sprints and project views for teams to customize their workflows per their
needs.
Issue management and bug tracking - When talking about Jira's purpose, we must not
forget its issue management and bug tracking capabilities. When designing Jira, Atlassian
had the sole aim of creating a robust tool for bug tracking in software projects. However,
the tool now offers bigger solutions, such as progress tracking and project management.
However, bug tracking remains the core offering, with the help of which software
professionals can effortlessly locate, record, and track bugs in their software or projects.
Jira's backlog provides an extensive view of every bug and issue, allowing teams to
prioritize the bugs they want to address first. Following that, project managers can
properly assign bug-related tasks to their team members.
Security - Given the significance of data security, Jira is automatically a top pick for most
project managers whose prime focus is privacy. The Jira software allows admins to create
custom access roles for each team member, simultaneously maintaining complete
control over which members have access to what data. Jira complies with PCI DSS, GDPR,
ISO/IEC 27018, ISO/IEC 27001, SOC 2, 3, and more to prioritize data security and safety.
Plus, any data on Jira have TLS 1.2+ encryption, and all servers containing user data
have AES 256 encryption.
Multiple use-case support Another massive advantage of using Jira Software is enjoying
its immense versatility. While the tool's primary purpose is to fulfil project managers'
needs, it isn't limited to that. Jira comes with multiple versions that cater to other
organizational departments, such as Jira Core and Jira Service Desk, which non-tech
teams can use. Additionally, team members using this software can measure operational
performance too.
Additional Disadvantages:
Absence of timeline views - While Jira stays ahead of most of its competitors, there's one
area where it does lag behind: timeline views. Unlike most project management tools,
Jira doesn't offer Gantt charts or timeline views. These features are useful as they help
teams determine how one task is connected to a subtask. Plus, project managers can use
timeline views to adjust project schedules if problems or bugs occur. Having said that,
there is a fix to this. You can get a separate Gantt chart by visiting the Atlassian
Marketplace and connecting it to Jira. Designed mainly for technical users The biggest
downside of Jira is its nature of being geared toward tech users. As a result, non-technical
users often struggle with coming to grips with the interface. In fact, the setup itself can
be challenging due to how complex the user interface is. Yes, software developers or
engineers usually have no issues using Jira. But non-technical team members can often
struggle while using this tool.
Insufficient collaboration tools - Given that team collaboration isn't Jira's top priority in
project management; the software has limited team collaboration capabilities. It is
mainly limited to the Kanban and Scrum boards. You can solve this issue by integrating
third-party apps such as Slack. Plus, Atlassian provides various collaboration solutions,
like Confluence and Trello, to be integrated and used with Jira.
Benefits of using Jira in your product workflows Many product teams use Jira
because it's good for agile teams and has powerful Kanban board workflows. Jira helps
you visualize your product by giving you an overview of goals, status, tasks, and more.
Jira helps product teams keep stakeholders informed about what's going on at any given
time. And since everyone can see what's happening, it's also a great way to track your
budget. Using Jira also allows product teams to customize the platform to suit their
needs. You can use Jira's core features, and you can also add other features through
integrations. Many product teams also use Jira for customer support. You can use Jira to
track customer requests and feature requests.
Product teams can then validate these requests against their product roadmap.
https://airfocus.com/glossary/what-is-jira/9
Is Jira your best friend now? - While Jira can be overcomplicated and confusing, it's also
extremely powerful and flexible. With this knowledge, you can use it to organize projects
well, even if you're just using it on a small team without a project manager. Jira also will
be a powerful tool to show off your team's work to clients and other stakeholders.
https://stackify.com/jira-software-developers/20
Quick Conclusion: Jira is one of the best issue and project tracking software available
today. It has great support for agile as well as thousands of plugins to extend its
features. Additionally, it also has an on-premises option if you'd prefer.
CodeCharge Studio:
Definition:
CodeCharge Studio Feature List
Application Builder - The Application Builder is perhaps the most advanced web
development automation tool available to web developers. With just a few clicks, users
can create complex database- enabled Web applications with dozens-or even hundreds-
of web pages for data management and administration.
Data Dictionary and Database Explorer - The Data Dictionary can be used to define
properties of controls that are used by the form builders. In this way, you can reuse
property settings and minimize the amount of customization that you apply to the forms
created by the builders. The Data Dictionary can also be used to view the database
catalog, change properties of the forms generated, and also import or export data
dictionaries you've defined.
Built-in full-page design templates CodeCharge Studio is installed with a number of
built-in designs you can use, but you can also create and add new designs templates
with Artisteer.
Web Reporting, Report Form and Web Report Builder Web reportingfunctionality in
CodeCharge Studio provides a great way to present or print data in detailed and grouped
formats, with automatically calculated fields.
Web Calendar Builder and Calendar Form - The Calendar component outputs data in
monthly calendar format, best suited for presenting date-specific information, such as
events, tasks, birthdays, etc.
Master/Detail Builder The simplest and most convenient way of building froms for edit
Master/Detail record is to use the Master/Detail Builder.
Master templates for Pages and Panels - Master pages allow you to create a
consistent layout and styling for the pages in your application. Master pages are
important because you can design the layout and formatting of various content sections
in one page, then apply the same styling to separate content pages in your web project
instead of designing each web page separately. When users request the content pages,
the pages are merged with a master page to produce output that combines the layout of
the master page with the content from the content page.
Ajax Features Develop Ajax-enabled applicationsthrough a set of Ajax features,
services and builders.
Web Gallery Builder Gallery Buildercreates a Web based image gallery as part of your
application. The resulting gallery displays images in a horizontal grid-like format.
Menu Builder - provides a visual method for designing and including menus within Web
pages.
Flash Charts and Flash Chart Builder Flash Chart Builder provides a visual method
for designing and including Flash charts within a Web page. The Flash Chart component
retrieves data from the database at run- time and presents it as a visual graph.
Form and Component Builders Component Builders are key constituents of
CodeCharge Studio and help users assemble Web pages from multiple components such
as Grid, Editable Grid, Record, Directory. Login, or Search. A Builder is a dynamic wizard
that creates the appropriate component on the page by allowing the developer to specify
the database table and fields that are used to display, validate or accept information.
CSS Styles and Style Builder - CodeCharge Studio styles are made of cascading style
sheet (CSS) definition file (.css) and accompanying graphics. Styles define fonts, colours,
buttons, graphics, spacing and
other layout formatting attributes. Styles are applied directly to the HTML tags on the
page. The Style Builder is a utility included with CodeCharge Studio and used for
creating and modifying styles visually.
Visual Query Builder - Developers can easily select tables and stored procedures or
custom SQL as the data source for their data-aware forms. A Visual Query Builder is
provided for visual creation of SQL statements.
Security Management and Role-based Access Control CodeCharge Studio goes the
extra mile in protecting generated Web applications by implementing additional security
features that prevent users from externally modifying forms and submitting invalid data
to the server. CodeCharge Studio allows developers to define secure role-based access to
each page or form.
Internationalization and Localization of Web Applications Many Websites need to
be adapted to a local or global audience by internationalizing and localizing them.
CodeCharge Studio fully supports Website internationalization (I18N) and localization
(L10N).
Editable Grid - The Editable Grid component enables the editing of multiple records
simultaneously. It allows to create order processing, inventory management, shopping
cart, or any other ERP-type system whose integral functionality involves the manipulation
of multiple - records.
Index/Directory The Directory component facilitates the creation of a Yahoo style
Directory or Index. The Directory is made up of a hierarchy of categorized listings which
the user can navigate through. This makes the Directory component especially useful
when creating Web portals where information is provided taxonomically.
File Upload - The process of transferring files from the end users machine to the server
can now be accomplished by using the File Upload component. This component
generates the necessary code to enable an end user to select files from their machine
and submit the files so that they are uploaded to the server. Rich Text (WYSIWYG) Editing
through CKeditor component support Powerful third-party rich text editing (WYSIWYG)
support. CCS features the FCKEditor component in the Toolbox and can be used in place
of TextArea control.
Multi-Select ListBox The listbox component has been improved to allow the end user
to select multiple values within the listbox, unlike in previous versions where only one
value could be selected. The Multi-Select listbox can therefore be used in database tables
with one-to-many relationships.
Integrated Development Environment (IDE) CodeCharge Studio combines visual
interface design tools with an integrated development environment (IDE)to enable
developers to create powerful and sophisticated web applications in record time.
CodeCharge Studio features powerful HTML and code editors, an HTML design
component, project explorer, property browser, dockable tool windows, and many other
features desired by professional developers.
Source Control Integration Source Control integration is one of the new CodeCharge
Studio 3 features making collaborative website development a breeze. Integration with
popular Software Configuration Management packages makes CodeCharge Studio 3
professional IDE for teams working on large web systems.
Support for Multiple Programming Languages CodeCharge Studio can generate
programming code in C# and VB. Net (ASP.NET), VBScript (ASP), ColdFusion, Java
(Servlets or JSP), PHP, and PERL. Since the project model is stored in XML format, the
programming language can be changed at any time and the same project can be
regenerated in multiple programming languages.
XHTML and Section 508 Support - Takes advantage of Web standards and conform to
government requirements by building XHTML and Section 508compliant Web
applications. Extensibility CodeCharge Studio has an open architecture and is fully
extensible. Most of the functionality is implemented as HTML, JavaScript, XML, and XSL.
Users can customize almost any part of the built-in functionality or develop their own
components, such as Builders, Components, Actions, and Styles. In the future, users will
be able to obtain the CodeCharge SDK and develop their own code generation templates.
Multiple Database Connections CodeCharge Studio supports multiple database
connections to allow Web applications to utilize multiple data sources, for example, to
validate user access against an external user database. 'Remember Me' Feature Enrich
user experience by allowing your customers to skip the login screen during subsequent
visits. The user information is stored in a secure manner as an encrypted cookie.
Integration with Other Products Web pages created with CodeCharge Studio can be
opened with any web editor, either by opening the HTML files saved by CodeCharge
Studio on the disk, or by right-clicking on a page within the CodeCharge Studio IDE and
selecting Open Externally. After a page is modified and saved, it is automatically
available back within CodeCharge Studio.
Password Encryption Protect critical user data by storing it in an encrypted format.
With the new password encryption feature you'll have less worries when planning and
maintaining secure system architecture. Application Templates (Solutions) CodeCharge
Studio comes with ten templates and examples of pre-built web applications that can
serve as starting points for your applications. These applications are ready for
customization and adaptation for organizational needs.
Custom HTML temlpates for builders Builder output can be customized with user-
defined HTML templates.
Custom Code and Actions Applications generated with CodeCharge Studio can be
easily extended by adding custom code or by using any of the predefined Actions.
Actions are user-definable code components that are inserted into events. Many actions
are provided with the product, while additional actions can be created by users and
shared with others. Internally, actions consist of XML and XSL code that can be easily
customized.
Code Generation Engine CodeCharge Studio users create web applications by
connecting to a database and placing data-aware forms and components on a page.
During the page design process, the representation of the project and all of its pages is
saved in XML format in addition to HTML code that contains the page design.
Sample Databases Several sample databases and applications are provided with the
distribution to help you get started with CodeCharge Studio.
Example Pack The CodeCharge Studio example pack comes in the form of a
CodeCharge Studio project within which there are different sub-projects which implement
various programming techniques.
Panel Component The panel component creates a container for controlling the visibility
of one or several components or HTML snippets in an application. A panel component can
contain any CodeCharge Studio components of a form that are supported by that form.
Page and Component Caching Caching methods allow for previously served pages to
be stored on the server, for example in the database. This is a powerful feature that can
greatly improve your server's performance by storing and reusing the representation of a
live page instead of executing the code and SQL statements during each page request.
AutoComplete The AutoComplete functionality provides quick access to valid member
functions or variables, including global variables, by means of the Members list. Selecting
a member from the list inserts it into your code.
Server Profiles CodeCharge Studio 5 can store publishing settings for several servers
that are used during web development and for publishing the application. The most
common scenario is that you are testing your application locally and after passing the
tests the files are uploaded to the production server.
Preview Mode Improved Preview Mode showing Include Pages, Translations, Master
Pages, Live Data from Database, etc. without publishing to server.
Site Diagram The site diagram feature enables the developer to produce a visual
representation of the pages within the site as well as show how the pages are linked to
one another.
Extensive Database Support CodeCharge Studio supports most existing databases via
JET and ODBC to establish the design-time connection. The server-side connection can be
made using JET, ODBC, JDBC, ADO, DBI and PHPLib to connect to databases during run-
time.
Benefits
CodeCharge Studio generates structured object-oriented code that is easy to
maintainand extend
CodeCharge Studio makes code generation very practical by taking the hassle out
of the process of generating professional-level code
Developers can easily modify any part of the generated code using a powerful
code editor included with CodeCharge Studio. Code that has been modified in the
editor by the user is not overwritten during subsequent code generation.
CodeCharge Studio offers an unprecedented way for users to quickly build
powerful database-driven web applications. By using a simple point and click
interface, users can select desired components, programming language,
presentation schemes and database queries-without any programming or without
the need to fully understand the underlying web technologies. What further sets
CodeCharge Studio apart from all other products is sheer speed. For example,
CodeCharge Studio makes it possible to create a simple task management system
in under five minutes. Several pre-built application templates are included and
can be adapted to the developer's needs and extended into full-featured web
systems.
Separation of Programming logic from the Presentation Layer CodeCharge Studio
fully supports the separation of programming logic from the presentation layer by
generating source code files (.asp, .php, .jsp, etc.), which are separate from their
corresponding HTML files (HTML templates). This approach allows web teams to
utilize best practices by allowing designers to work separately and in parallel with
developers. Many other technologies force developers to perform design tasks
and designers to deal with code.
The CodeCharge Studio approach allows the developer to produce applications
that can be further customized by modifying the HTML template files within
CodeCharge Studio's IDE or through a suitable design environment, all this while
leaving the code untouched.
Fast, Practical Code Generation One of the biggest challenges of making code
generation practical is to provide developers with full flexibility of modifying the
generated code while not losing the advantage of automation.
CodeCharge Studio's core technology handles these requirements very well and
gives users the full flexibility of working with the generated code. Modified
portions of the code are locked from being overwritten during subsequent code
generations, therefore eliminating the need of importing modified code back into
the application source.
When publishing a project or page, CodeCharge Studio generates source code
that is then copied to the web server to run the application. Users can choose and
change the programming language at any time, for example, generate an
application in Active Server Pages on their local Windows computer, then
generate the same application in Java (as Servlet or JSP) for final deployment on
any Java application server. The code generated by CodeCharge Studio is very
similar to human code and can be easily enhanced outside of CodeCharge Studio
by any developer. No other software on the market generates usable, practical
programming code in as many technologies as those supported by CodeCharge
Studio.
(http://docs.codecharge.com/studio50/html/index.html?http://docs.codecharge.co
m/studio50/ html/UserGuide/Intro/ProductFeatures/Benefits.html?toc- 20 April)
(http://www.codecharge.com/products/product_detail.php?product_id=1)
https://www.computerworld.com/article/2575844/start-up-aims-to-combine-web-design--
development.html
Reference List GitHub: 1 GitHub. (2023). Hello World[online]. Available from:
https://docs.github.com/en/get- started/quickstart/hello-world[accessed 03 April 2023]. 2
Gaba, I. (2023). What is GitHub And How To Use It?[online]. Available from:
https://www.simplilearn.com/tutorials/git-tutorial/what-is-github[accessed 03 April 2023].
3 Kinsta. (2022). What is GitHub? A Beginner's Introduction to GitHub [online]. Available
from: https://kinsta.com/knowledgebase/what-is-github/[accessed 03 April 2023]. 4
Juviler, J. (2022). What Is GitHub? (And What Is It Uder For?)[online]. Available from:
https://blog.hubspot.com/website/what-is-github-used-for[accessed 03 April 2023]. 5 = 2
6 CodeClouds. (2021). The Advantages and Disadvantages of Using GitHub[online].
Available from: https://www.codeclouds.com/blog/advantages-disadvantages-using-
github/ [accessed 03 April 2023]. 7 Qayyum, A. (no date). Understand the pros and cons
of using GitHub[online]. Available from: https://smashinghub.com/understand-the-pros-
and-cons-of-using-github.htm[accessed 03 April 2023]. 8 Ruck, D. (2023). Is GitHub Still
Safe to Use? [online]. Available from: https://rewind.com/blog/is-github-still-safe-to-
use/[accessed 03 April 2023]. 9 = 3 10 = 2 11 Perez-Riverol Y, Gatto L, Wang R,
Sachsenberg T, Uszkoreit J, Leprevost FdV, et al. (2016). Ten Simple Rules for Taking
Advantage of Git and GitHub. PLoS Comput Biol[online],
12(7): e1004947. Available from: https://doi.org/10.1371/journal.pcbi.1004947[accessed
03 April 2023]. 12 Atlassian. (no date). Why Use Git for Your Organization[online].
Available from: https://www.atlassian.com/git/tutorials/why-git[accessed 03 April 2023].
13 Trust Radius. (2023). GitHub[online]. Available from:
https://www.trustradius.com/products/github/reviews?qs=pros-and-cons[accessed 03
April 2023]. 14 Software Advice. (2023). GitHub Reviews[online]. Available from:
https://www.softwareadvice.com/za/project-management/github-profile/reviews/
[accessed 03 April 2023]. 15 PeerSpot. (2022). GitHub Reviews[online]. Available from:
https://www.peerspot.com/products/github-reviews[accessed 03 April 2023]. JIRA: 1
Atlassian. (2023). Welcome to Jira Software[online]. Available from:
https://www.atlassian.com/software/jira/guides/getting-started/introduction[accessed 03
April 2023]. 2 ProductPlan. (no date). Jira[online]. Available from:
https://www.productplan.com/glossary/jira/[accessed 03 April 2023]. 3 Simplilearn.
(2023). What is JIRA?: How to Use Jira Testing Software Tool[online]. Available from:
https://www.simplilearn.com/tutorials/jira/what-is-jira-and-how-to-use-jira- testing-
software[accessed 03 April 2023]. 4 Majumder, S. (no date). What is Jira Used For and
Why You Need It for Your Business: A 360-Degree Overview[online]. Available from:
https://www.turing.com/resources/what-is- jira-tool[accessed 03 April 2023]. 5
Java T Point. (no date). JIRA Tutorial[online]. Available from:
https://www.javatpoint.com/jira-tutorial[accessed 03 April 2023]. 6 McEwen, M. (2018). A
Jira Tutorial for Software Developers[online]. Available from: https://stackify.com/jira-
software-developers/[accessed 03 April 2023]. 7 Bug Reporting. (no date). Jira Pros And
Cons | Things Jira is Great at[online]. Available from: https://www.bugreporting.co/pros-
and-cons/jira[accessed 03 April 2023]. 8 Corrales, E. (2023). Jira Review: 2022 Feature &
Pricing[online]. Available from: https://www.developer.com/project-management/jira-
review/[accessed 03 April 2023]. 9 AirFocus. (no date). What is Jira?[online]. Available
from: https://airfocus.com/glossary/what-is-jira/[accessed 03 April 2023]. 10 Delos
Santos, J.M. (2023). The Pros and Cons of Using Jira Software for Project
Management[online]. Available from: https://project-management.com/the-pros-and-
cons- of-using-jira-software/[accessed 03 April 2023]. 11 COMMpla. (2021). Why we use
JIRA for our software development workflow[online]. Available from:
https://commpla.com/blog/why-we-use-jira-for-our-software-development-
workflow/[accessed 03 April 2023]. 12 Partida, D. (2023). Jira review (2023): Pricing,
features, pros & cons[online]. Available from: https://www.techrepublic.com/article/jira-
review/[accessed 03 April 2023]. 13 GetApp. (2023). Jira Reviews[online]. Available from:
https://www.getapp.com/project-
management-planning-software/a/jira/reviews/[accessed 03 April 2023]. 14 Trust Radius.
(2023). Jira Software[online]. Available from: https://www.trustradius.com/products/jira-
software/reviews?qs=pros-and-cons#reviews [accessed 03 April 2023]. 20 = 6 CCS:
1 Rode J, Howarth J, Perez-Quinones M.A and Rosson M.B. (2005). A End-User
Development Perspective on State-of-the-Art Web Development Tools. [online. Available
from: https://eprints.cs.vt.edu/archive/00000708/01/webtoolsevaluation.pdf[accessed 11
April 2023]. (Rode et al. 2005) 2 YesSoftware. (no date). CodeCharge Studio 5.1[online].
Available from: https://www.yessoftware.com/index2.php[accessed 11 April 2023]. 3
80LV. (no date). CodeCharge Studio[online]. Available from:
https://80.lv/vendors/codecharge-studio[accessed 11 April 2023]. 4 QBS Software. (no
date). CodeCharge Studio[online]. Available from:
https://www.qbssoftware.com/codecharge-studio.html[accessed 11 April 2023]. 5
Softpedia. (2016). CodeCharge Studio[online]. Available from:
https://www.softpedia.com/get/Programming/Other-Programming-Files/CodeCharge-
Studio.shtml[accessed 20 April 2023]. 6 YesSoftware Support. (no date). Benefits of
CodeCharge Studio[online]. Available from:
http://docs.codecharge.com/studio50/html/index.html?http://docs.codecharge.com/
studio50/ html/UserGuide/Intro/ProductFeatures/Benefits.html?toc[accessed 20 April
2023]. 7 Code On Time. (no date). Code On Time vs Code Charge[online]. Available from:
https://www.codeontime.com/CodeOnTime_CodeCharge[accessed 11 April 2023]. 8
YesSoftware. (no date). CodeCharge Studio 5.1[online]. Available from:
http://www.codecharge.com/products/product_detail.php?product_id=1[accessed 11 April
2023]. 9 W3Techs. (2023). Usage statistics and market share of CodeCharge
Studio[online]. Available from: https://w3techs.com/technologies/details/cm-
codecharge[accessed 11 April 2023].
10 Sullivan, T. (2002). Start-up aims to combine Web design, development[online].
Available from: https://www.computerworld.com/article/2575844/start-up-aims-to-
combine-web- design--development.html[accessed 20 April 2023]. M. Robillard, R. Walker
and T. Zimmermann. (2010). Recommendation Systems for Software Engineering. IEEE
Software, vol. 27, no. 4, pp. 80-86. Available from: doi: 10.1109/MS.2009.161. [accessed
03 April 2023]. Singer, Janice, Timothy C. Lethbridge, Norman G. Vinson and Nicolas
Anquetil. (2002). An examination of software engineering work practices. Conference of
the Centre for Advanced Studies on Collaborative Research. Available from: doi:
10.1145/782010.782031. [accessed 03 April 2023]. Di Rocco, J., Di Ruscio, D., Di Sipio,
C. et al. (2022) HybridRec: A recommender system for tagging GitHub repositories. Appl
Intell. Available from: https://doi.org/10.1007/s10489-022- 03864-y[accessed 03 April
2023].