GithubHelp home page GithubHelp logo

student-ops / efforsiton Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 270 KB

Efforsitionはgithub、chatgpt api と密に連動した開発者向けのタスク管理アプリです。

JavaScript 0.83% TypeScript 95.95% CSS 2.63% Dockerfile 0.59%

efforsiton's Introduction

What is this app ?

Efforsitionはgithub、chatgpt api と密に連動した開発者向けのタスク管理アプリです。
cahtgpt api を使用してコードの差分から実装された機能を推測し、開発の進捗状況を把握することが目的です。
ユーザーは github アカウントでサインインし、本アプリはgithub webhookからレポジトリの更新を検知します。
検知した更新をもとにアプリ内で作成したタスクの達成を自動で判定、管理します。

Tech Stack

フロントエンド

Next.js React Typescript HTML5 CSS3 Tailwind CSS

  • Next.js
  • Reat.js
  • Typescript
  • TailWindCss ...

バックエンド

Node.js Typescript

  • Node.js
  • Typescript

インフラ、その他

AWS docker PostgreSQL

  • Dcoker
  • AWS
  • postgres

porwerd by geticon

詳細

サインアップしたユーザはアプリ内でプロジェクトとタスクを自由に作成できます。
プロジェクトとタスクは 1 対他の関係になっており、これらはユーザデータと紐付けてapi越しにデータベースに保存されます。
ログインしている github アカウントのリポジトリとアプリ内のプロジェクトを連携させることができ、そうすることでレポジトリに webhook が作成され、push データがこのアプリに送信されます。
push データが送信されるとそのデータをもとに chatgpt api 送信するプロンプトを作成しその応答をもとにタスクの終了を判定します。
タスクが達成されたと判断するとそれをユーザに知らせます。

生成されるプロンプトの例
Command:
Guess the completed task from the updated content of the code. Evaluate all tasks and answer with true or false.
Answer only in the following format:

[
  {"task_id" :string , "acheived" : boolean},
]

##################################

Update data:
{
  filename:"tests/hello.ts"
  commit comment:"test"
  content "{
    export {}
    console.log("hello world")
  }"
},

##################################

Unachieved task array:

tasks[
  {name : add initial data inserter ,description :"", id : clfecquua000jumy0k9n61w1j},
  {name : add fetch data from openai api ,description :"Add fetch function to create api request for openai api by axios or nextjs ", id : clfedlnmn000tumy0qst5xaj1},
  {name : hello world on test.ts ,description :"just hello world for test", id : clfj5fq1o000dum0ryn5iz53l}
]

工夫

フロントエンドフレームワークとして react を使用。操作画面を spa で開発。

全体として開発生産性に焦点を当てて開発を行いました。 ChatGPT API を活用してコードの差分から実装された機能を推測することが、明確な目的として設定できていたため、その機能をいかに迅速に実装するかに重点を置きました。具体的な実装としては、Next.js を使用しフルスタックな Web アプリケーションを構築しました。 これにより Web サーバーそのものや別途 API を実装する必要がなくなり、効率的な開発ができたと感じています。また、ORM には Prisma を用い、ログイン認証には Next-Auth ライブラリを使用することで、目的とする機能に集中して短期間で実装できました。

修正ポイント

動作環境を移行する

efforsiton's People

Contributors

student-ops avatar

Watchers

 avatar

efforsiton's Issues

adapt for ecs

add ecs task definition.and create production env in ecs fargate.

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.