- Interactive periodic table of elements.
- Experiment with chemistry.
- Create an account:
- Create flash cards.
- Test your knowledge with a quiz automatically generated from your discovered compounds.
Important
The version of Java used by the project must match the version output by ./mvnw --version
Tip
Set JAVA_HOME
to the location where your Java JDK is installed
Build system is Maven
- Maven Plugin
- A local Maven wrapper is included:
./mvnw
.
# test
./mvnw test
# generate a .jar
./mvnw clean package
# skip tests
./mvnw clean package -DskipTests
# run
./mvnw spring-boot:run
# override default dev,local profiles
./mvnw spring-boot:run -Dapp.profiles=test
docker build -t chemlab .
docker run --rm -p 8080:8080 chemlab
- download/install
Repository layer tests leverage MongoDB Testcontainers. A container runtime will need to be present before running repository tests.
$ sops -d src/main/resources/application.enc.yml > src/main/resources/application.yml
- generate an age key pair:
age-keygen -o key.txt
- add the key pair to a location where sops will find it
- add the
age
public key to.sops.yaml
- run
updatekeys
:
sops updatekeys src/main/resources/application.enc.yml
sops encrypt src/main/resources/application.yml > src/main/resources/application.enc.yml
Frontend built with Angular 20
This project was built with help from:
- My B.S. capstone project professor and peers at Metro State University
- An online tutorial from Get Arrays
- The PubChem API
- public chemistry data service
- RoboHash
- temporary profile image generator
- Package organization is inspired by onion architecture
- yet not true onion architecture in terms of the actual dependency graph
- Some chemistry icons created by Freepik - Flaticon