cover

Simple AI Survey Creation Platform <A-Form>

Date: 2023-04-03
Stacks:ReactJavascriptOracleDocker

GitHub Link

https://github.com/masibasi/a-form/

Service Link

server.acceler.kr → The service is hosted on the school's On-Premise server, so it may be offline.

https://github.com/KEA-ACCELER/aform-cluster → You can try running it with Docker Compose for integrated configuration.

🎥 Demo Video

https://youtu.be/6K8LaMvuNQc

📢 Presentation Video

https://youtu.be/i9Q12nDDzeg

📖 Presentation Slides

⭐️ Project Overview

A-Form is a survey platform website developed at the Gachon University Kakao Enterprise SW Academy.

With the catchphrase "Amazing Form Automatical Form By team ACCELER!", this service addresses existing issues by providing AI-based automatic survey generation, automated summarization of survey results, and community features that encourage interaction and feedback between survey creators and respondents.

It was implemented using a Microservices Architecture (MSA) based on a Cloud system, and you can check it out at https://server.acceler.kr/.

📑 System Architecture

  • External access is routed through the nginx ingress controller, and based on the ingress rules, it connects to each service.
  • All MSA services are duplicated, and load balancing is implemented through Kubernetes services to achieve high availability and load distribution.
  • 👬 Team Composition

  • 5 developers: Front-end (2), Back-end (2), PM (1)
  • Collaboration tools used: Git, Figma, Notion
  • I served as the Front-end Development Team Leader.
  • We communicated, provided feedback, and kept records using Notion.
  • 🔨 Responsibilities

  • UI Design with Figma
  • UX Design
  • React Project Structuring
  • Page Implementation
  • Resource Optimization
  • Back-End Communication
  • Docker Container Deployment
  • Back-End CORS
  • Project Personal Presentation Slides

    https://drive.google.com/file/d/1n7QTYvVVTEx4injB_7ZejEFbGtQlGtQG/view?usp=sharing

    ⚒️ Technologies and Libraries Used

  • JavaScript
  • React
  • axios
  • Docker
  • 💡 Reflections

  • Working on the development of front-end, back-end, and cloud engineering as a team allowed me to deeply understand the importance of collaboration and effective communication. I learned the significance of conveying ideas through meetings, planning stages, commenting, code structure, directory management, and writing commit messages, as well as the importance of recording the process of problem-solving and decision-making.
  • Leading the front-end development team taught me how to collaborate with other front-end developers. I experienced resolving conflicts when committing to Git, and the process of resolving them, which eventually taught me the importance of distinguishing and separating pages for individual development and components for shared development.
  • Completing the front-end development of an entire service and deploying it on the cloud gave me confidence in my abilities.
  • I found it rewarding to develop while considering user requirements and striving to meet their needs.
  • The process of deploying CI/CD on the cloud was a new experience for me.
  • Combining existing front-end technologies with cloud architecture was a novel and exciting experience. Working with the team, I learned and gained insights from the development of front-end, back-end, data, and cloud technologies, and I grew from thinking from various perspectives.
  • ← Back to project list