All Projects â†’ kt3k â†’ buttons

kt3k / buttons

Licence: other
🌱 buttons is a web service to help you keep doing things everyday

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Nunjucks
165 projects
shell
77523 projects

Projects that are alternatives of or similar to buttons

TimeRecorder
åˇĨ数įŽĄį†ã‚ĸプãƒĒ
Stars: ✭ 51 (+142.86%)
Mutual labels:  ddd
wp-vercel-deploy-hooks
WordPress Plugin to trigger Vercel deploy hooks on command / update
Stars: ✭ 51 (+142.86%)
Mutual labels:  jamstack
example-ddd-cqrs-server
Example DDD/CQRS based on Implementing Domain Driven Design book written by Vaughn Vernon
Stars: ✭ 40 (+90.48%)
Mutual labels:  ddd
ios-graphql
iOS code examples with GraphQL, Apollo & more
Stars: ✭ 78 (+271.43%)
Mutual labels:  auth0
DomainResult
Tiny package for decoupling domain operation results from IActionResult and IResult types of ASP.NET Web API
Stars: ✭ 23 (+9.52%)
Mutual labels:  ddd
backend
Ergonode backend repository
Stars: ✭ 100 (+376.19%)
Mutual labels:  ddd
ITL
Sample Web API implementation with .NET Core and DDD using Clean Architecture.
Stars: ✭ 29 (+38.1%)
Mutual labels:  ddd
11ty-tailwind-jit
Try editing some Tailwind in this repo while running in dev. It's SO FAST!
Stars: ✭ 17 (-19.05%)
Mutual labels:  jamstack
crystallize-nextjs-boilerplate
Fully featured Next.js / React eCommerce boilerplate. Combine rich marketing content with product information to create highly converting online stores. Fully tuned for performance with JAMStack edge page generation.
Stars: ✭ 252 (+1100%)
Mutual labels:  jamstack
EcommerceDDD
Experimental full-stack application using Domain-Driven Design, CQRS, and Event Sourcing.
Stars: ✭ 178 (+747.62%)
Mutual labels:  ddd
electron-auth0-login
Helper widget for Auth0 authentication in Electron desktop apps
Stars: ✭ 23 (+9.52%)
Mutual labels:  auth0
next-saas-starter
⚡ī¸ Free Next.js responsive landing page template for SaaS products made using JAMStack architecture.
Stars: ✭ 497 (+2266.67%)
Mutual labels:  jamstack
gatsby-minimal-portfolio
👔 JAMstack (Gatsby JS) content-focused portfolio blog starter. Features include dark-mode, installable PWA, SEO, code highlighting, form, CI/CD.
Stars: ✭ 36 (+71.43%)
Mutual labels:  jamstack
nota
"None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void.
Stars: ✭ 17 (-19.05%)
Mutual labels:  ddd
ddd-house
🏠 Building a house with DDD
Stars: ✭ 38 (+80.95%)
Mutual labels:  ddd
crossword
The game is implemented as an example of scalable and high load architecture combined with modern software development practices
Stars: ✭ 56 (+166.67%)
Mutual labels:  ddd
11ta-template
Deeply customizable, full-featured, ready to publish blog template built with 11ty, TailwindCSS, & Alpine.js
Stars: ✭ 98 (+366.67%)
Mutual labels:  jamstack
radiopush
Create communities and share songs with Spotify users (https://radiopush.app)
Stars: ✭ 89 (+323.81%)
Mutual labels:  ddd
nestjs-boilerplate-microservice
Nestjs Microservice boilerplate: apply DDD, CQRS, and Event Sourcing within an event driven architecture
Stars: ✭ 270 (+1185.71%)
Mutual labels:  ddd
flatten-the-curve
COVID-19: By the numbers. Presenting country comparisons and adjustable cumulative graphs. Looking for another developer to keep this up to date
Stars: ✭ 18 (-14.29%)
Mutual labels:  jamstack

🌱buttons

https://buttons.kt3k.org/

Daily push buttons

CircleCI codecov

What is it?

🌱 buttons is a web service to help you keep doing things everyday, especially the things which you tend to forget to do, but is beneficial if you do it everyday. Typical examples are learning language, learning music, workout etc.

The followings are examples of tasks:

  • Learn a word in Spanish.
  • Learn a Chinese character.
  • Read a chapter of Bible.
  • Play a piano.
  • Work out.

How to

How to set up tasks in 🌱 buttons? The followings are guidelines:

  • Do:
    • Create a task easy to accomplish (in less than 10 min.).
    • Create a creative, constructive task.
    • Create a task easy to start.
    • Revisit the definition of tasks continuously and keep them in reasonable and meaningful state.
  • Don't
    • Create a task too difficult to accomplish in a single day. (ex. Post an blog article is too difficult. Write a part of article is a better alternative.)
    • Create a task hard to keep doing everyday. (ex. Climb a mountain if you're not a moutain guide.)
    • Make a (difficult) finish condition. (ex Win 3 games in row on Splatoon)

Let's start!

High level Architecture

🌱 buttons is a live web service, and its source code, architecture, and documentation are available online on github.

Infrastructure

Archtecture

Database

Build tools

Backend tools

Frontend tools

datetime

Testing

Code quality

Total Cost

  • Free! ✨😎

Domain Models

See domaindoc.

Development

Unit test

Start mongo in a terminal:

./sakuw mongo

Then in a different console, run tests:

./sakuw kocha

Start local server

Start mongo:

./sakuw mongo

Then in a different console, run the server:

./sakuw start

This runs local static site and lcoal api server.

Urls

/ - auth/public

  • auth: Your buttons, Your checks
  • no auth: Login/Sign up link and list of the users

/:user - public

(/profile.html?user=:user)

  • The user's check calendar

/:user/:date - public

(/day.html?user=:user&date=YYYY-MM-DD)

  • The user's single day contribution

/settings - auth

  • The settings of profile and buttons

/set-id.html - auth

  • The settings of displayId on onboarding steps

/settings.html - auth

  • The settings of buttons and profile

APIs

GET /users/self - auth

  • Get the authenticated user

PUT /users/self - auth

  • Modify the authenticated user

PUT /users/self/id - auth

  • Sets the display

GET /users/self/buttons - auth

  • Gets my buttons

POST /users/self/buttons - auth

  • Create a new button

PUT /users/self/buttons/:id - auth

  • Modify my button

DELETE /users/self/buttons/:id - auth

  • Delete my button

POST /users/self/buttons/:id/check

  • Check the button

POST /users/self/buttons/:id/uncheck

  • Uncheck the button push

GET /users - noauth

  • Get the users

GET /users/:id - noauth

  • Get the user's profile by the display id

GET /users/:id/checks?from=YYYY-MM-DD&to=YYYY-MM-DD - noauth

  • Get the user's checks in the range of date

GET /users/:id/checks?d=YYYY-MM-DD - noauth

  • Get the user's check by the date

GET /activities/recent

  • Get recent activities.

PUT /buttons/:id/checks/:id

  • Modify the check by the id

DELETE /buttons/:id/checks/:id

  • Delete a check by the id

Use cases

Onboarding

  • Go to /
  • Auth0 login
  • Go to /set-id.html
  • Take displayId
  • Go to /settings.html
  • Set up 1 - 4 buttons
  • Go to /
  • Done

Push button

  • Go to / (loggedIn)
  • Push buttons
  • Done

Browse my checks

  • Go to /
  • Browse my checks
  • Done

Browse someone's checks

  • Go to /users.html
  • See the list of users
  • Select the name of a user
  • Go to /:user/checks
  • See :user's checks
  • Done

Modify my buttons

  • Go to /settings.html
  • Modify my buttons
  • Push save button
  • Done

Modify my profile

  • Go to /settings.html
  • Modify my profile
  • Push save button
  • Done
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].