CarMoreno / molecules

EBI test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Molecules App

This app uses Django rest framework and ReactJS with the Material UI library to sketch an interface utilizing material components. Finally, the RDKit library is used to build molecules images.

About Endpoints

  • Get Molecules: http://localhost:8000/molecule
  • Get Activities by Molecule: http://localhost:8000/molecule/<id_molecule>/activity
  • Get detailed Molecule: http://localhost:8000/molecule/<id_molecule>

About pagination

The endpoints to get molecules and their activities have been paginated using two optional attributes: page_size and page_number, their default values are 1 and 10 respectively. The above functionality allows us to have more flexibility and comfort, for instance:

  • http://localhost:8000/molecule?page_number=2&page_size=5 gets 5 results for page 2.

About Frontend

It was utilized material components to sketch the interface. The following are application's screenshots:

List Molecules

molecules.png

List Activities by Molecule

activities.png

Detailed molecule

detailed_molecule.png

All together

all_together.gif

How to run the application?

  • Clone or Download this repository.
  • Open a new terminal:
    • cd molecules
    • docker-compose up, this command will create two containers: molecules_frontend and molecules_backend.
  • Once the command has finished, open the browser and go to http://localhost:3000

Running the application

docker_execution.gif

Finally, I have used Docker version 20.10.6, docker-compose version 1.29.1, and Windows 10 to test the deployment process.

About

EBI test


Languages

Language:JavaScript 61.7%Language:Python 31.2%Language:HTML 5.7%Language:Dockerfile 1.1%Language:CSS 0.4%