moltimate / moltimate-frontend

Moltimate's frontend source code.
GNU General Public License v2.0
8 stars 2 forks source link
molecular-graphics react

Moltimate Frontend

Moltimate is an open source tool built to aid in protein function analysis. The project start with a group of student developers in the Software Engineering Department at Rochester Institute of Technology. Main dependencies for this project are React , Material UI, NGL View.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Installing

To run locally you must download dependencies if it is your first time running the project, or anytime there is an addition to the packages. If running the moltimate backend server alongside the moltimate frontend, you must edit the src/util/request.js file to point the testQuery and searchQuery constants to the moltimate frontend, as it will not be running on the same port.

yarn install

After installing the project dependencies

yarn start

Build the project dist directory

yarn run build

If there are unit tests available to run:

yarn run test

Custom yarn scripts can be made such as yarn build which can be found in the package.json

Testing

Currently this project is not set up with any unit tests. This was done intentionally. Possible unit testable code is the advanced hook logic found in the util directory.

Selenium driven integration tests will be used to validate user workflows, and provide transparent assurances to users and stakeholders. Tests will be automated via Travis-CI.

Big Thanks

Cross-browser Testing Platform and Open Source ❤️ provided by Sauce Labs

Coding Style

General

Style

Build small and reusable components. This project is highly generalizable.

Why keep the custom Webpack?

Create React App is quick and easy way to get things setup, however it is incredibly heavy and introduces many dependencies not required for this project. If you eject a Create React App project then it becomes difficult to update and read. Follow the standards of Webpack

Resuable Code

Great deal of time and resources were spent on making this code reusable and high quality with the goal that future development teams would be able to build on this foundation and add more features.

License

This project is licensed under GPLv2