An open API service indexing awesome lists of open source software.

https://github.com/hyuseinleshov/habit-tracker-api

A backend REST API for tracking personal habits, built with Java and Spring Boot. It supports habit creation, recurring check-ins, streak calculations, and user authentication.
https://github.com/hyuseinleshov/habit-tracker-api

backend ci docker flyway gradle habit-tracker java jpa jwt-authentication postgresql rest-api spring-boot spring-security swagger testcontainers

Last synced: 3 months ago
JSON representation

A backend REST API for tracking personal habits, built with Java and Spring Boot. It supports habit creation, recurring check-ins, streak calculations, and user authentication.

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]





Habit Tracker Logo

Habit Tracker API


A backend REST API for tracking daily/weekly habits, check‑ins, and streaks.




Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Contributing

  4. License

  5. Contact

## About The Project

Our goal is:

"Habit Tracker API is a Spring Boot backend that helps users manage daily and weekly habits. Users can:
- Register/login with JWT authentication
- Create, read, update, delete habits
- Perform check‑ins per habit
- View current streaks and historic stats

This project is structured with clean architecture, Docker, CI pipelines, and full API documentation—all without a UI layer."

(back to top)

### Built With

* [![Java][java-shield]][java-url]
* [![Spring Boot][spring-boot-shield]][spring-boot-url]
* [![Gradle][gradle-shield]][gradle-url]

(back to top)

## Getting Started

Follow these instructions to run the project locally.

### Prerequisites

* Java 21+
* Gradle (optional — you can use the included `./gradlew` wrapper)

### Installation

1. Clone the repository:

```bash
git clone https://github.com/hyuseinleshov/habit-tracker-api.git
cd habit-tracker-api
```

2. Build and run the application:

```bash
./gradlew bootRun
```

3. The API will be available at:

```
http://localhost:8080/
```

(back to top)

## Contributing

We welcome contributions! Follow these steps:

1. Fork the project
2. Create your branch (`feature/xyz`, `fix/abc`)
3. Commit your changes (`feat: add xyz feature`)
4. Push to your branch
5. Open a Pull Request

Adhere to our branch/commit conventions.

(back to top)

## License

Distributed under the MIT License. See [`LICENSE`](LICENSE) for details.

(back to top)

## Contact

- **Hyusein Leshov** – hl.dev.acc@gmail.com
- **Shenol Shengov** – shenolshengov41@gmail.com

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/hyuseinleshov/habit-tracker-api.svg?style=for-the-badge
[contributors-url]: https://github.com/hyuseinleshov/habit-tracker-api/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/hyuseinleshov/habit-tracker-api.svg?style=for-the-badge
[forks-url]: https://github.com/hyuseinleshov/habit-tracker-api/network/members
[stars-shield]: https://img.shields.io/github/stars/hyuseinleshov/habit-tracker-api.svg?style=for-the-badge
[stars-url]: https://github.com/hyuseinleshov/habit-tracker-api/stargazers
[issues-shield]: https://img.shields.io/github/issues/hyuseinleshov/habit-tracker-api.svg?style=for-the-badge
[issues-url]: https://github.com/hyuseinleshov/habit-tracker-api/issues
[license-shield]: https://img.shields.io/github/license/hyuseinleshov/habit-tracker-api.svg?style=for-the-badge
[license-url]: https://github.com/hyuseinleshov/habit-tracker-api/blob/main/LICENSE
[java-shield]: https://img.shields.io/badge/Java-DE0A26?logo=openjdk&logoColor=white&style=for-the-badge
[java-url]: https://www.oracle.com/java/
[spring-boot-shield]: https://img.shields.io/badge/Spring%20Boot-6DB33F?logo=springboot&logoColor=white&style=for-the-badge
[spring-boot-url]: https://spring.io/projects/spring-boot
[gradle-shield]: https://img.shields.io/badge/Gradle-02303A?logo=gradle&logoColor=white&style=for-the-badge
[gradle-url]: https://gradle.org/