Giter Site home page Giter Site logo

kiwi's Introduction

star

Kiwi

An AI Powered Digital Playground Where Education Meets Imagination

Overview

The Kiwi is a solution that uses AI to transform children's digital experiences, enhancing learning and creativity. It stands as a beacon of hope, showcasing how AI can be harnessed to address the complex relationship between children and technology in today's digital age.

Key points of Kiwi :

  • Conventional Learning: Old learning but with new technologies
  • Creative Learning: Learning with innovations
  • Play & Fun: Games for learning
  • Scalable Structure: Microservice in Java

Watch a demo presentation of the app here.
A PDF generated by our app is shown here.

Features

  1. Learning & Fun
    • Draw n Learn: Word Writing Practice Through Drawing
    • Grammar Guru: Sentence Creation and Error Correction
  2. Creative Corner
    • Magical Story: Give Prompts and Generate Graphical Storybook PDFs
    • Talky Pal: Interact with an Avatar Bot for Learning and Conversations
    • Chat Buddy: Engage in Personalized Chats with Your Kiwi Buddy
  3. Play & Explore
    • Pop Count: Bubble Popping Game with Numbered Bubbles
    • Fun Cam: Capture, Morph, and Add Fun Filters with Your Camera
    • Anim Land: Create Animations by Combining and Adding Actions to GIFs
    • Picture Puzzle: Solve Slide Puzzles with Images and Videos
  4. Others
    • Storybook Manager: PDF Storage, Search, Deletion, and Text-to-Speech
    • User & Profile Management: User Creation with Email Verification and Multi-Profile Support
    • Authentication & Authorization: JWT Token-Based Security

System Design

This microservices-based project comprises four core services: UserService, PdfService, WritingService, and BotService, each hosted on separate servers to ensure scalability and optimal performance. Additionally, two essential modules, the Gateway and Discovery Server, are employed for inter-service communication and load balancing.

Service Responsibilities:

UserService: This service handles user authentication, authorization, and profile management.

BotService: Equipped with AI capabilities, BotService interprets and responds to user commands intelligently.

PdfService: PdfService leverages AI for image generation and manages storybook PDFs.

WritingService: This service integrates OCR functionality, accepting images and returning extracted text.

The project relies on two databases, User and Pdf, closely linked with User and Pdf services. Firebase Cloud Service is also utilized for enhanced functionality.

The following diagram visually represents the end-to-end flow of the project, illustrating the interactions between services, databases, and external resources.
System Architecture

The following diagram illustrates an example of how a storybook is generated through communication with multiple services in our system.
Storybook Creaton Flow The project focuses on modularity security, with authentication measures, and load balancing in place to protect user data and ensure a safe user experience.

Technologies and Dependecies

Feature Framework / Tool
Frontend Next.js
Backend Java Spring Boot, Spring Cloud Netflix Eureka, Spring Cloud Gateway, Spring Security
Database & Storage MongoDB, Firebase Storage (for PDFs)
CSS Framework & Design Tools Framework: Tailwind CSS; Design tool: Canva
AI Models Text: GPT-3.5-turbo; Image Generation: DALL-E
Creativity-based Features OCR: Microsoft TrOCR Model from Hugging Face
Animation & Games p5.js
Speech-related Speech to Text: React-speech-recognition; Text to Speech: SpeechSynthesis
Others PDF Creation: jsPDF

(Variations in voices differ according to the browser you are using. For example, Edge provides children's voice which is unavailable in Chrome. Visit this from target browser to get all the supporting voices)

Installation and Configuration

  1. Clone the Project:

  2. Configure Environment Variables:

    • Navigate to the project's root directory.
    • In the "frontend" folder, update the .env variables with your API keys and required variables.
  3. Microservice Configuration:

    • Go to the "microservice" folder.
    • Update the secrets in the secret.properties files located in {ServiceModule}/src/main/resources.
  4. Frontend Setup:

    • Open a terminal in the "frontend" folder.
    • Install project dependencies with:
      yarn
      
    • Start the frontend development server with:
      yarn dev
      
  5. Backend Setup:

    • Install dependencies for the backend from the pom.xml file.
    • Run the main files of all modules. Consider using tools like IntelliJ for building and running the system.

Conclusion

The project holds great promise with scalable features and a focus on early tech education for kids, fostering creativity in a safe environment. However, it faces challenges like limited access to image generation APIs, API call restrictions, and the need for efficient models. Despite these hurdles, the project aims to shape a positive tech-savvy future for children.

Team Aviato

Name University Session LinkedIn GitHub
Nowshin Alam Owishi SUST CSE 2018-19 LinkedIn owishiboo
Moksedur Rahman Sohan SUST CSE 2018-19 LinkedIn ShikariSohan

Thank You.

kiwi's People

Contributors

shikarisohan avatar owishiboo 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.