Coder Social home page Coder Social logo

taskspire's Introduction

Taskspire - Kanban Pomodoro AI

A SPA PWA built with Vue 3 with TypeScript, Pinia, Vite, Tailwind and Electron

preview img OpenAI Artificial Intelligence web app to help people achieve their goals. It builds AI-generated 'Action Plans' that are managed within a one-of-a-kind Kanban + Pomodoro Task System. On each Task there are targeted AI-recommended online courses, linked through the Affiliate Marketing (Publisher) Program to generate commissions.

Docs

This app is a single-page-app (SPA) and progressive-web-app (PWA). It uses a single REST API call (www.taskspire.xyz/api/build-plan) to a simple NodeJs backend (repo: taskspire-backend) used for communicating with OpenAI. There are no databases used. Data persistance is handled on the frontend via Local Storage and user-initiated file backup-and-restore.

Models Overview

IPlan: Short for 'Action Plan', it is the model returned from the API call used to seed a newly created Board. IBoard/Board: Short for 'Kanban Board' it is the primary model used to setup the kanban board system (TheBoard.vue). |-IStage/Stage: stage with a list of Items |-IItem/Item: The model coresponding to an Action Plan task. |-Colors: An Enum of color strings used to indicate an Item's difficulty, tied to the tailwindcss colors.

Component Overview

preview img preview img There are two primary screens, TheHomepage and TheBoard, auto-navigated based on whether a Board is selected. Biggest thing to note is that TheBoard.vue uses Pinia's $patch function to auto-update Board state, which then auto-saves to Local Storage. The component folders are logcally organized based on component dependancies. To best understand the components and how they fit together, run the component overview (viewed on localhost:4444): 'npm run overview'

Re-Branding & Internationalization

All display text, including branding, is set via assests/i18n/en.ts, which makes translating easy (as well as adding multilingual support). Simply replace the images in /asset/images and /public to change branding logo and favicon. To change theming, modify tailwind.config.js and assets/styles/app.css.

The API will return in languages other than English based on the language used by the user and by the setting of the property 'language' (store/home.ts) to an ISO language code (ex: en, es, fr, jp...).

Distribution

The PWA is browser installable via the manifest.json file (dependant of SSL). This also makes it submitable to Google Play and Microsoft App Store. If this isn't sufficient, it also comes with the boilplate for Electron-based desktop and mobile app distribution using Electron-Builder.

Keys

Google Analytics Measurement ID is managed in config.ts. OpenAI and the Affliate Referral Program keys are managed in the backend via a .env file.

Google Analytics Events

GTag events are sent on:

  • A new Action Plan is created
  • A new Action Plan is rejected
  • An Action Plan is deleted
  • A Pomodoro timer is completed for an Item/task
  • An Action Plan goal is completed

Switching monitization

By default, an Affiliate Referral Program is used (Skillshare via Impact.com). A Freemium member's model could be implemented instead or in addtion to it.

Switching AIs

By default, OpenAI is used, however with minimal developer effort an equivalant HuggingSpace model could be used. Note: At the time of development, OpenAI's GPT3.5 Turbo and GPT4 provided the best results however HuggingSpace models are generally less expensive.

Install

npm i

Commands

Start Vue app:

npm run start

Build Vue app:

npm run build

Start electron app:

npm run start-electron

Build electron app distros (Boilerplate, requires further config):

npm run start-electron

Lint code:

npm run lint

Run tests:

npm run test

taskspire's People

Contributors

david-gi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.