Xano로 습관 추적기 앱을 만들었습니다
Source: Dev.to
Overview
Habit tracker, 내가 만든 앱은 사람들에게 일일 루틴을 기록하고 완료 여부를 추적하도록 도와줍니다. 또한 책임 파트너를 초대하여 습관을 이행하도록 책임을 지게 할 수 있습니다.
Live app (via Xano static hosting)
https://default-dev-8050f4-xn9g-tt4h-4ei5.n7e.xano.io/
Full code on GitHub
https://github.com/EmmanuelTheCoder/Lite-habit-tracker-xano
Contact
Email: tester@gmail.com
Backend Design
Database Tables
- Users – 인증 활성화
- Habits (users와 연관) – 필드:
name,description,category,frequency,target_days(배열),is_active,is_public - Habit_Logs –
habit_id,user_id,log_date(복합 고유),completed(불리언),notes,mood - Accountability_Partners –
user_id,partner_id,status(pending/accepted) - Encouragements – 파트너 간 메시지
- Achievements – 사용자 마일스톤 추적
Core API Endpoints
- Auth:
signup,login - Habits: CRUD 작업,
GET /habits(사용자 습관 목록) - Logs:
POST /habits/{id}/log– 완료/미완료 표시GET /habits/{id}/logs– 기록 히스토리
- Stats:
GET /habits/{id}/stats– 현재 연속일, 완료 비율, 총 완료 횟수 - Dashboard:
GET /dashboard– 오늘의 습관, 전체 통계 - Partners: 요청 전송/수락, 파트너 진행 상황 보기
- Encouragements: 메시지 전송/수신
Business Logic
- 현재 연속일 계산 (연속적으로 완료된 일수)
- 완료 비율 계산 (특정 기간 동안의 퍼센트)
target_days기반으로 습관이 오늘 해야 할지 판단- 동일 날짜에 대한 중복 로그 방지
- 업적 자동 부여 (예: 7일 연속, 30일 연속)
Security
- 모든 엔드포인트는 인증이 필요함
- 사용자는 자신의 데이터만 접근 가능
- 파트너는 공개로 표시된 습관만 볼 수 있음
- 적절한 인덱싱 및 데이터 검증 적용
Development Experience
프롬프트가 매우 상세했기 때문에 별다른 작업이 필요 없었습니다. Co‑pilot과 Xanoscript 확장 프로그램이 이를 잘 실행해 주었습니다. 유일하게 수정한 부분은 user 테이블을 다듬고 로그인 및 회원가입 엔드포인트에 security.create_auth_token을 추가한 것입니다.
Xano는 풀스택 애플리케이션을 만들기에 간단한 방법임을 증명했습니다. VS Code에서 한 번의 클릭으로 정적 프론트엔드를 호스팅할 수 있어 특히 편리했으며, 인증 설정도 직관적이었습니다.
Challenges
- 변수 검사나 브레이크포인트 기능이 없어 복잡한 애플리케이션에서는 디버깅에 시간이 더 많이 걸렸습니다. 다행히 이번 프로젝트는 단순했기 때문에 버그를 크게 만나지는 않았습니다.