v1.0.1
This project is based on the Spring Boot framework and Equinox middle-framework, and it is the backend of an open
source application to daily tracking the glucose levels and meals.
Gluky is an open-source, self-hosted project designed to help users track their glucose levels and meals on a daily basis. It allows users to log measurements associated with specific meals—such as breakfast, morning snack, lunch, afternoon snack, and dinner. Gluky also supports the creation of customizable reports over different time periods, including one week, one month, three months, or four months. Following a report example:
Note
All the data have been random generated and are not related to anyone, for more information look to the dataset
To customize and create your own version of this application you need to have the core library implemented in your project and published into maven local system
-
Clone the repository or download the zip file of the current version available
-
Open the folder file in your development environment and publish to maven local with the publishMavenPublicationToMavenLocal gradle task, take a look here for a help
repositories {
...
mavenLocal()
}
dependencies {
implementation 'com.tecknobit.glukycore:glukycore:1.0.1'
}repositories {
...
mavenLocal()
}
dependencies {
implementation("com.tecknobit.glukycore:glukycore:1.0.1")
}At the moment, Gluky is available as a self-hosted product, but I'm working to take it one step further — turning it into a fully served solution for those who want to use it right away, with no setup required.
The goal is to offer Gluky both as a hosted service and as an open source project — so users will always be free to self-host, contribute, and customize it as they wish.
To make this possible, I'm looking for a small amount of support to cover a few essential costs:
- A license for the Apple Developer Program, so I can publish Gluky on the * App Store*.
- Hosting for the WebApp, with a dedicated domain.
- A main server infrastructure, ready to serve users out of the box.
If you believe in this project and want to help make Gluky more accessible to everyone, your contribution would mean a lot. The open source core will remain free and community-driven — the hosted version is simply an option for convenience!
Feel free to contribute!
- Android
- Gluky desktop version
- iOS -> source code available, but cannot distribute due missing Apple Developer Program license
- Gluky webapp version
Warning
Note: the service will run using the HTTP protocol as default, it is recommended to implement an SSL or TLS certificate to secure communication on your infrastructure.
Wikis
To create a self-signed certificate you can look here
To implement a certificate in Spring you can look here
If you encounter any problems with the creation of the keystore you can look here to get more information, or use the following command to add the private key to the keystore:
openssl pkcs12 -export -in your_certificate_file.crt -inkey your_private_key.key -out your_out_pkcs12_file.p12 -name your_alias_name -CAfile your_certificate_file.crt -caname rootThe default properties to launch the backend service as designed are the following:
| Property | Default value |
|---|---|
| spring.datasource.url | jdbc:mysql://localhost:3306/gluky?createDatabaseIfNotExist=true |
| server.port | 1921 |
| spring.datasource.username | root |
| spring.jpa.generate-ddl | update |
| spring.jpa.hibernate.ddl.auto | auto |
| spring.jpa.properties.hibernate.dialect | org.hibernate.dialect.MySQL8Dialect |
| spring.mvc.dispatch-options-request | true |
| spring.servlet.multipart.max-file-size | 10MB |
| spring.servlet.multipart.max-request-size | 10MB |
The spring.datasource.username if is not set is used the default password of the MySQL environment
To customize the properties to launch the backend service you must create a file in the same folder where you placed the server file (.jar) and call it "custom.properties" as below:
folderOfWhereYouPlacedTheServerFile
├── custom.properties
└── gluky.jarIf your custom properties do not contain the properties of the default configuration will be used these default properties instead, so if you need to change some default properties you have to overwrite them.
Take a look to the official page of Spring for a high customization here
When you have to start the service you will have different scenarios:
- At the first launch the server will be interrupted and will be thrown the
SaveData exception to store the server secret to manage the user accesses to
the server, share it only to the users that you retains allowed to access to your server
Exception in thread "main" com.tecknobit.apimanager.exceptions.SaveData: Note: is not an error, but is an alert! Please you should safely save: the_server_secret_generated to correctly register a new user in the Gluky system
- If is not the first launch the service will start directly
- If you need to recreate the server secret you need to launch the service with the rss command like this:
java -jar Gluky.jar rss // this will generate a new server secret overwriting the current server secret
- If you need to delete the server secret, just note that when the service will be launched again will be generated a
new
server secret to work correctly, you need to launch the service with the dss or dssi command like this:
// dss command java -jar Gluky.jar dss // this will delete the current server secret // dssi command java -jar Gluky.jar dssi // this will delete the current server secret and interrupts the server workflow right next
To start the Gluky service on your own infrastructure you have to follow these steps
- At least Java 18 JDK installed on your machine
- An SQL environment installed, it is recommended to use MySQL
- Before run the backend service, for the first time only, you need to store in the profiles subfolder
(created automatically by the server) the default profile pic as below:
This action is required because to provide the images media the service need an external place where store and fetch that media files, you can take a look directly here to get more information and to get the defProfilePic file to store in the profiles subpath
folderOfWhereYouPlacedTheServerFile ├── gluky.jar └── resources └── profiles └── defProfilePic.png - The SQL service running on "localhost:3306/gluky" by default, or if has been customized, with the custom data to format correctly the connection URL
If you need help using the library or encounter any problems or bugs, please contact us via the following links:
Thank you for your help!
If you want support project and developer
| Crypto | Address | Network |
|---|---|---|
| 3H3jyCzcRmnxroHthuXh22GXXSmizin2yp | Bitcoin | |
| 0x1b45bc41efeb3ed655b078f95086f25fc83345c4 | Ethereum | |
| AtPjUnxYFHw3a6Si9HinQtyPTqsdbfdKX3dJ1xiDjbrL | Solana |
If you want support project and developer with PayPal
Copyright © 2025 Tecknobit