The Quimify API is the backend behind Quimify. It resolves chemistry queries — inorganic and organic nomenclature, molecular masses and equation balancing — and serves them to the client over a stateless REST interface.
Built with Spring Boot (Spring MVC) on Java 11. Data is persisted through Spring Data JPA over MySQL, which also backs a query cache so repeated lookups skip recomputation. The organic engine is embedded via the quimify-organic module, and Spring Boot Actuator exposes health and metrics. Nomenclature is served in Spanish and English.
Language is selected per request via the language header
(es / en, defaults to en).
| Method | Route | Params | What it does |
|---|---|---|---|
GET |
/inorganic/completion |
input |
Autocomplete suggestions as the user types |
GET |
/inorganic/from-completion |
completion |
Resolves a picked suggestion into a result |
GET |
/inorganic |
input |
Searches a compound by name or formula |
GET |
/inorganic/deep |
input |
Slower, exhaustive search when the fast one misses |
| Method | Route | Params | What it does |
|---|---|---|---|
GET |
/organic/structure |
name |
Name → structure and SMILES |
GET |
/organic/name |
structure-sequence |
Built structure → IUPAC name |
| Method | Route | Params | What it does |
|---|---|---|---|
GET |
/molecular-mass |
formula |
Molecular mass and per-element split |
GET |
/equation |
reactants, products |
Balances a chemical equation |
| Method | Route | Params | What it does |
|---|---|---|---|
GET |
/client |
platform, version |
Client config and update info |
POST |
/report |
context, details, user-message, client-version |
Stores a user-submitted report |
POST |
/client-error |
context, details, client-version |
Logs a client-side error |
GET |
/health |
— | Service status |
Clone the repository and run it with Maven (Java 11):
mvn spring-boot:runIt expects a MySQL database (see sql/) and the usual Spring configuration.
Quimify API uses the quimify-organic module from quimifyapp/organic.
Do whatever you want with this code.
However, please be aware that our code relies on open-source dependencies, each with their own licenses and usage terms. Non-compliance with their licenses could have legal consequences.
