- Server Side: \
For the server, we decide to mainly focus on
Python
since it is the most popular language for machine learning and our product will be focused on computer vision based on machine learning. Besides, every member of the team is proficient inPython
and capable to contribute to both development and testing. Moreover, there are lots of machine learning libraries available forPython
and we will be usingPyTorch
. Another factor that leads to this decision is Dr. Tsai provides us an existing solution for other sports and it is usingPython
andPyTorch
and it is working pretty well. So we decide to stay with these tools to develop our product so that it is much easier not only for us to get started but also for our primary customer to accept and use it as a solution. Since we are building a backend server, we will also useFlask
which is a microframework forPython
web development. We have considered usingDjango
butFlask
is more lightweight thanDjango
andFlask
could help to keep the code simple and clean. AlthoughFlask
is a microframework, it has a large number of libraries and it could be as powerful asDjango
with those libraries while not containing any unwanted functionalities. As for deployment, we decide to deploy our web app onHeroku
for the demonstration purpose of the course. The biggest advantage ofHeroku
is it is completely free but it could fulfill our needs in the early stage of development. However, it might be a good idea to deploy it in CSI’s server for the production version since the data it collects and stores could potentially contain sensitive and confidential information.
4 upvotes·13.5K views