Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Streakx

Streakx is a simple C-based habit tracker that helps students build consistent routines. It supports multiple users, daily check-ins, streak tracking, and a weekly report from the last 7 days. This project was made for the 1st semester C programming subject.

Features

  • User login and account creation stored locally
  • Add, update, search, and delete habits
  • Mark habits as done for today with streak updates
  • Best streak tracking per habit
  • Weekly report for the last 7 days
  • Data stored per user in local .dat files

Tech Stack

  • C (standard library)
  • File-based storage (binary .dat files)

Build and Run

From the project root:

gcc main.c habits.c tracker.c fileio.c -o streakx
./streakx

How to Use

  1. Run the program and log in (a new account is created if the username is not found).
  2. Use the menu to manage habits.
  3. Mark habits as done each day to build streaks.
  4. View the weekly report to see recent consistency.

Project Structure

  • main.c - app entry, menus, program flow
  • habits.c - habit CRUD operations
  • tracker.c - date logic, streaks, reports
  • fileio.c - user auth and file persistence
  • habits.h - structs and function prototypes

Data Files

The app stores data locally in the working directory:

  • users.dat - usernames and passwords
  • _habits.dat - habit records per user
  • _logs.dat - completion logs per user

Notes and Limitations

  • This is a console application with fixed-size arrays.
  • Data is stored in binary files; deleting those files resets data.
  • No encryption is used for stored passwords (educational project only).

Future Improvements

  • Input validation and safer password storage
  • Search by category and analytics dashboard
  • Export reports to CSV
  • Dynamic memory instead of fixed-size arrays

About

A terminal-based habit tracker built in C — features multi-user login, streak tracking, weekly reports, and persistent binary file storage.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages