Skip to content

πŸ„ API for Habitus App - State-of-the-art Tracker for emotions, habits and thoughts. | Gamified. | Anonymous and open source.

Notifications You must be signed in to change notification settings

AndromedaTechnology/habitus-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Habitus API - Healthiest version of you

Habitus Logo

Gamified Tracker and Journal
Emotions, Habits, Thoughts

Heroku
Node TypeScript Docker Jest
Medium Twitter Patreon Buymeacoffee

API for Habitus App [Github - Frontend].

Habitus App is Unobtrusive and Easy to use Habit tracker.

Anonymous and Open-Source.

1. Technology

  • TypeScript
  • Koa.js
  • Database: MongoDB: Mongoose
  • Config: Dotenv, Joi
  • Testing: Jest: SuperTest, MongoDBMemoryServer
  • Docker: MongoDB

2. Features

  • πŸ₯° Emotion CRUD
  • πŸ’ͺ Habit CRUD
  • πŸ†• 🏷 Tag CRUD
  • πŸ” JWT auth for Admin actions

3. Run

Docker

Runs MongoDB container.

cd docker
cp .env.example .env
docker-compose up -d

Application

# Return to root
cd ..
cp .env.example .env
npm i
npm run dev

4. Tests

Using Jest Testing Framework.

Jest uses SuperTest and MongoDBMemoryServer.

npm run test

5. Postman

Check out Postman Documentation.

Pre-set environment variables:

  • host
  • admin_password

Dynamic environment variables, automatically set in tests:

  • access_token
  • habit_id

6. Protected Routes [Admin access]

Few routes are protected with jwtCheck middleware.

Requests going to these routes require Authorization: Bearer {token} header.

Protected Routes

  • [Emotion,Habit][create,update,delete]

Getting access token

Endpoint: POST /auth/token.

Body: { password: ADMIN_PASSWORD }.

Admin password

ADMIN_PASSWORD is defined in .env file.

It defaults to secret.

7. Habitus Frontend

Written in TypeScript,

using Vue.js and Vuetify.

Join the open-source development - Github - Habitus App - Frontend.

Check the live version at habitus.today.

7. 1. Frontend preview

User page

Check the gallery.

8. Social

Habitus


Crafted with ❀️
by contributors around the 🌍 World and 🌌 Andromeda.

About

πŸ„ API for Habitus App - State-of-the-art Tracker for emotions, habits and thoughts. | Gamified. | Anonymous and open source.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published