Skip to content

An AI Application that generate diagram from user system requirements, 2nd runner VP Bank Hackathon 2024

Notifications You must be signed in to change notification settings

buisihung11/SyArGPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


SyArGPT

An AI Application that generates diagram from user system requirements

👋🏻 Getting Started

Requirements

  • Generate System Architecture from User requirements
  • Follow AWS Well Architecture
  • Can export result to drawio or Mermaid
  • Support justification/explanation where user can add more input from first result
  • Leverage the power of generative AI and
    • open knowledge on Internet (for example: architecture blueprint shared by AWS, etc.)
    • on Intranet
  • The design output must consider the security, maintainability, scalability,...

✨ Features

General process

App Screenshot

1 Generate diagram from prompt

2 Justify result from system

3 Export result to draw.io or mermaid format

4 Generate explanation/document for diagram

5 Generate code templates (Terraform) able to run plan based on design

6 Import knowledge base

7 Cost estimation

8 Authentication

  • Setup Clerk, SignIn and SignOut Page
  • Setup Clerk with Supabase DB

🧱 Technologies

  • Frontend: Next.js, TypeScript TailwindCSS, ShadCN
  • Backend: Python, AWS Lambda, TypeScript, LangChain
  • Service: AWS EC2, AWS Bedrock, AWS S3, AWS Lambda, AWS API Gateway

Setup local

1. Authentication

1.1 Clerk

TODO

1.2 Integrate Clerk with Supabase (Optional)

Since we used Clerk as a separate auth library in this project, there are some additional steps need to setup in order to work with Supabase if we want to use the RLS (Row Level Security) of PostgreQL

  1. Setup a custom JWT Template for Clerk
  2. Setup Supabase client to use the custom JWT to auth the request
  3. Create RLS policy

See how to setup Clerk with Supabase here

1.3 Create webhook for Clerk

To create User data in our own database (Supabase), we will use Webhook feature of Clerk to create user data whenever a new user is created within Clerk

See how to setup here

2. Database

In this project we will use Supabase as database provider for PostgreQL and Prisma library as DatabaseORM

2.1 Setup Supabase

TODO

2.2 Setup Prisma

See how to setup Prisma with Supabase here

⌨️ Development

System Architecture

Component Architect

TODO

Contributors

About

An AI Application that generate diagram from user system requirements, 2nd runner VP Bank Hackathon 2024

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published