SYSTEMS AND METHODS FOR CREATING SOFTWARE
An online software development platform providing an integrated resource for design, development, and purchase of customer-desired software applications for software projects created by customers. The platform comprising one or more computers configured using computer readable instructions stored in non-transitory computer memory to provide the software development platform, wherein the software development platform is configured to implement a plurality of electronic operational domains providing user-interactive capabilities or internal functionalities of the software development platform. The domains comprising a project scope process, a pricing process, and a project development process. The platform is configured to use a configuration involving knowledge graph to recommend features.
1 . A computer implemented method for creating software using a website, comprising:
implementing an automated assistant that interacts with the user to assist with the development process on the website;
providing, by the automated assistant, recommendations for one or features to include in a desired software program, wherein the automated assistant uses a graph database to provide the recommendations;
receiving input from a customer, by a server running a software creating component, the input describing at least one aspect of a software program comprising a group of user-selected features to include in the software program;
determining, by the software creating component based on the input, existing code components that may be used to create the software program, the existing code components being stored in a code library accessible by the software creating component; and
determining, by the software creating component based on the user input and based on the existing code components that may be used to create the software program, new code components that must be developed for the software program.
2 . The computer implemented method of claim 1 further comprising adjusting a cost estimate based on the at least one aspect of the software program.
3 . The computer implemented method of claim 2 , the at least one aspect of the software program including at least one of: a platform category, an application template, a requirement collection, a platform, a number of screens, a team location, a time to market, and a build depth.
4 . The computer implemented method of claim 3 , the build depth including: a wireframe, a design, a navigable prototype, a minimal viable product, or a complete project.
5 . The computer implemented method of claim 1 , further comprising:
sending, by the software creating program, a set of existing code requirement and a set of new code requirements to a team selector; and
generating, by the software creating program, a project template based on the existing code components that may be used and based on the new code components that must be developed.
6 . The computer implemented method of claim 5 , further comprising:
generating, by the software creating program, a project schedule based at least in part on the project template, the project schedule including events related to the creation of the software program; and
managing, by the software creating program, the events related to the creation of the software program.
7 . The computer implemented method of claim 6 , the events related to the creation of the software program including at least one of: a project milestone; a code commit; and a customer message.
8 . The computer implemented method of claim 6 , the method further comprising:
passing, by the software creating program, at least one event ID to a communication program; and
sending, by the communication program, a message to the customer based on the event ID.
9 . The computer implemented method of claim 6 , the method further comprising:
receiving, by a communication program, a message from the customer; and
parsing, by the communication program, the received message into the software creating program.
10 . A non-transitory computer readable medium storing one or more software applications that causes a computer system to execute a method that implements an online software development platform for creating software, the method comprising:
implementing an automated assistant that interacts with the user to assist with the development process on the website;
providing, by the automated assistant, recommendations for one or features to include in a desired software program, wherein the automated assistant uses a graph database to provide the recommendations;
receiving input from a customer, by a server running a software creating component, the input describing at least one aspect of a software program;
determining, by the software creating component based on the input, existing code components that may be used to create the software program, the existing code components being stored in a code library accessible by the software creating component; and
determining, by the software creating component based on the user input and based on the existing code components that may be used to create the software program, new code components that must be developed for the software program.
11 . The non-transitory computer readable medium of claim 10 further comprising adjusting a cost estimate based on the at least one aspect of the software program.
12 . The non-transitory computer readable medium of claim 11 , the at least one aspect of the software program including at least one of: a platform category, an application template, a requirement collection, a platform, a number of screens, a team location, a time to market, and a build depth.
13 . The non-transitory computer readable medium of claim 12 , the build depth including: a wireframe, a design, a navigable prototype, a minimal viable product, or a complete project.
14 . The non-transitory computer readable medium of claim 10 , further comprising:
sending, by the software creating program, a set of existing code requirement and a set of new code requirements to a team selector; and
generating, by the software creating program, a project template based on the existing code components that may be used and based on the new code components that must be developed.
15 . The non-transitory computer readable medium of claim 14 , further comprising:
generating, by the software creating program, a project schedule based at least in part on the project template, the project schedule including events related to the creation of the software program; and
managing, by the software creating program, the events related to the creation of the software program.
16 . The non-transitory computer readable medium of claim 15 , the events related to the creation of the software program including at least one of: a project milestone; a code commit; and a customer message.
17 . The non-transitory computer readable medium of claim 15 , the method further comprising:
passing, by the software creating program, at least one event ID to a communication program; and
sending, by the communication program, a message to the customer based on the event ID.
18 . The non-transitory computer readable medium of claim 15 , the method further comprising:
receiving, by a communication program, a message from the customer; and
parsing, by the communication program, the received message into the software creating program.