Avatar of Labib Chowdhury

Labib Chowdhury

Student at University of Toronto
Student at University of Toronto·

The development process for our application will be done using Git through GitHub. Git provides the best way to have a shared repository and edit the same codebase with multiple people. Github comes with multiple useful features such as Github Issues and Github Projects which help with organization. It is also used for our class so we do not have a choice but to use it. The Github repo will be deployed using Heroku. This is simply because it is the cheapest and most simple alternative and has enough features to complete what we need for the MVP. We will be coding using Visual Studio Code as it is fast, has a large number of plugins, and can run any type of file we'd need it to. VS Code also integrates well with Git which can simplify issues such as merge conflicts.

READ MORE
8 upvotes·13K views
Student at University of Toronto·

We have chosen to use Docker and Docker Compose to containerize our frontend and backend. Docker will take care of encapsulating everything for us and make our developer experience much smoother. Docker is useful as it provides production quality for application and allow us to easily add modifications to dependencies in the future. Docker Compose will handle composing multiple Docker containers which will simplify our work when deploying our application to the internet.

READ MORE
7 upvotes·8.2K views
Student at University of Toronto·

The key to our product relies on explainability and user experience when using our product. With this is mind, it is important to build a clean, readable web interface that a user will be able to navigate easily and quickly debug their security issues. The stack chosen for the interface of our product includes: JavaScript + React, CSS, HTML, Material UI and D3.js.

React provides us with simplicity to allow us to deliver the MVP as soon as possible. React also has multiple open source libraries to ease our development. Being able to reuse React components will help in developing the product fast as well as making the user interface modular. Since we're using React, we will also be using JavaScript, HTML, and CSS to create the frontend.

To design the UI, using a minimal approach would be the best solution. The Material UI library provides us with minimal and aesthetically pleasing React Components which would make our frontend look pleasing to the user.

Finally, our UI will consist of displaying information from our Machine Learning model in a dashboard type view. To display data in tasteful manner, we have chosen to use the D3.js library. This library is the most popular data visualization library for React with over 80k stars on Github. D3 also provides seamless compatibility with React and has a variety of features which would make the data we produce visually pleasing.

READ MORE
5 upvotes·107.1K views
Student at University of Toronto·

Our product relies on usability and explainability for the customer. Due to this, we have to ensure our UI is user friendly. The best way to approach this would be to have iterations of prototypes and recieve user feedback on what features they want or which ones we need to remove. This can be done with Figma, which provides a great simple way to create a prototype for our application

READ MORE
3 upvotes·835 views
Student at University of Toronto·

We are using Jest to test the react app and PyTest to test the Python app. Jest is often used with react and already has an example test case set up in App.test.js. Setting up tests with Jest is very straightforward, and the simple integration with React made choosing Jest a great option. Jest can also be run just by running npm test using the package.json. Similar to Jest, the configuration of PyTest with python applications is very straightforward. By just running all methods and files that contain the word 'test' in it, there is no hassle in coordinating tests at all. All tests run just by calling the command pytest which recusrsively checks for test cases. Having simple commands such as pytest and npm test also simplify the process of setting up automated testing through the CI.

READ MORE
2 upvotes·1.9K views
Student at University of Toronto·

Used for communication within our team. Slack is one of the industry standards for team communication due to it's ease of use and reliability. Additionally, we will be using WhatsApp in case of emergencies or if members of the group are not responding on Slack.

READ MORE
2 upvotes·39 views