Unfortunately, that isn’t always the right criteria for choosing the best type of “stack”. They either go for the freshest stacks or those that have the lightest learning curve. Most developers tend to opt-in for the newest and easiest option on the market. There are many “stacks” to choose from, and if you’re not 100% sure what you need - you will probably get lost in all the options. Choosing the Right Stack for your Project back-end (OS, web server, programming language, web framework, databases)īack-end is focused on the internal hardware that the makes product run, while front-end is focused on the components that allow the user to interact with the software. Client-side a.k.a front-end (HTML, CSS, JavaScript).A “stack” refers to any combination of coding languages, tools, and frameworks developers use to create software products for their clients.Ī stack contains different layers of components that play a vital role in the process of software product creation. This will help us keep the codebase clean and make it easy to revert changes when we need to.If you’re not completely new to the development game, you know that most modern applications are created with the help of a “stack” of various technological solutions. The project will be stored on GitHub and all code changes will be done though pull requests. In terms of more interactive meetings, Zoom will be used for its video calls and screen sharing capabilities. It provides all the features needed for basic discussions. Slack will be used as the primary source of communication. Although there are advantages to the other cloud services, Heroku makes the most sense to our team because our primary goal is to build an MVP. We decided to use Heroku over AWS, Azure, Google Cloud because it is free. Everyone on our team also has experience working with MongoDB. We decided on MongoDB because it is lightweight and we can easily host the database with MongoDB Atlas. The user behavior analytics has to be flexible since the data we plan to store may change frequently. We decided to use a NoSQL database over a relational database because of its flexibility from not having a predefined schema. We ultimately decided to use Redis to improve our web app performance mainly due to the extra functionalities it provides such as fine-tuning cache contents and durability. We decided between Redis and memcached because they are two of the most popular open-source cache engines. They have very user friendly documentation on their official website which we find easy to learn from. We decided to use the React-based library Victory to visualize the data. Our team also already has experience working with Redux which gave it a slight edge over the other state management libraries. We decided to use Redux to manage the state of the application since it works naturally to React. CSS 3 and HTML5 will be used for the basic styling and structure of the web app, as they are the most widely used front end languages. Since React is one of the most popular front end frameworks right now, there will be a lot of support for it as well as a lot of potential new hires that are familiar with the framework. We decided to use React for the UI because it helps organize the data and variables of the application into components, making it very convenient to maintain our dashboard. Jupyter notebook will be used to help organize the data analysis process, and improve the code readability. These tools combined will help us learn the properties and characteristics of our data. These include NumPy, Pandas, and matplotlib. Some common Python libraries will be used to analyze our data. This is important because our team lacks ML experience and learning the tool as fast as possible would increase productivity. It is also known to have an easier learning curve than other popular libraries such as Tensorflow. We decided to go with PyTorch for machine learning since it is one of the most popular libraries. Postman will be used for creating and testing APIs due to its convenience. Flask is easy to use and we all have experience with it. We chose Flask because we want to keep our machine learning / data analysis and the web server in the same language. It also has a lot of support due to its large user base. We decided to use Python for our backend because it is one of the industry standard languages for data analysis and machine learning.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |