https://github.com/bitspittle/nosweat
A web app exercise tracker
https://github.com/bitspittle/nosweat
Last synced: 3 months ago
JSON representation
A web app exercise tracker
- Host: GitHub
- URL: https://github.com/bitspittle/nosweat
- Owner: bitspittle
- Created: 2021-05-09T01:30:40.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-08-05T19:03:06.000Z (11 months ago)
- Last Synced: 2026-01-03T10:30:00.886Z (6 months ago)
- Language: Kotlin
- Size: 155 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# No Sweat - An Exercise Tracker
This project is a web app that allows creating exercises and workaround routines, as well as running exercises and
tracking your accomplishments.
This project includes both the frontend (web UI for user interactions) and the backend (which maintains the state of the
application for all users).
## Build steps
```shell
$ git clone https://github.com/bitspittle/nosweat
$ cd nosweat
```
### Submodule Dependencies
(You only need to do the steps in this section once)
Fetch submodule dependencies:
```shell
$ cd external
$ git submodule init
$ git submodule update
```
### Redis
The server uses Redis as a data store. You will need to download, install, and run a redis server before starting up the
backend.
See also: https://redis.io/topics/quickstart
Excerpt:
```shell
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
```
then:
```shell
cd src/
./redis-server
```
### Run Server and Client
Then, navigate back to the root folder. At this point, you should be start up the server:
```shell
$ pwd
.../path/to/nosweat
$ ./gradlew :backend:run
```
Then, start up the browser to run the app:
```shell
$ ./gradlew :frontend:jsBrowserRun
```
## Technology
This project uses:
* [Web Compose](https://compose-web.ui.pages.jetbrains.team/) for the frontend
* [Ktor](https://ktor.io/) for the backend server
* [Redis](https://redis.io/) for the backend database
* [GraphQL](https://graphql.org/) for the protocol to communicate between frontend and backend
## Troubleshooting
---
Q: When I run the backend, it immediately exits with `JedisConnectionException: Could not get a resource from the pool`
A: You need to run `redis-server` first. See the [Redis](#Redis) section.
---
Q: ?
A: ?