Skip to content

Project Overview: General Work Process, Dev Environment and Structure #300

@dongwon8247

Description

@dongwon8247

Work Process

1. Planning Phase (Notion)

  • Ideation & Research
  • Roadmap for new features/improvements
  • Wireframes
  • Functional specification
  • Information Architecture (IA)
  • Versioning suggestion

When planning is done, request for design.

2. Design Phase (Figma)

  • Design components
  • Design UI/Flow
  • Many Iterations

When the design is done, request for development.

3. Development Phase (Jira & GitHub)

  • Analyze the requested features/bugs and assign them to appropriate persons
  • Run a two-week sprint, with the aim of releasing a new version every month
  • Synchronize Jira issue cards with GitHub commits for better tracking & review process
  • Manage the Adena Developer Docs

When development is done, ready for release. For the release process, go to: #301

Dev Environment & Structure

Stack

  • Typescript: 4+
  • React: 18.2
  • yarn: 3.4.1 (yarn workspace)

Test Tools

  • jest
  • storybook

CI/CD

  • GitHub Actions
  • AWS S3 (Storage for build files)

Build

  • Build
$ yarn set version berry
$ yarn
$ yarn build
  • Run
$ yarn set version berry
$ yarn
$ yarn build:module
$ yarn develop

Structure

adena-wallet
├── packages
│   ├── adena-extension // Adena Wallet extension
│   │   └── src
│   │       ├── assets // Assets, svg, png ...
│   │       ├── common // Common modules
│   │       ├── components // UI components
│   │       ├── containers // Data handles
│   │       ├── hooks // Hooks
│   │       ├── inject // Injection script
│   │       ├── layouts // UI layouts
│   │       ├── migrates // Storage data migration 
│   │       ├── models // Data interface
│   │       ├── pages // Pages
│   │       ├── repositories // Data input/output
│   │       ├── resources // Resource data
│   │       ├── services // Service logic
│   │       ├── states // Recoil state variables
│   │       └── types // External interface
│   │
│   ├── adena-module // Wallet/account management module
│   │   └── src
│   │       ├── crypto 
│   │       ├── encoding 
│   │       ├── math 
│   │       ├── transaction
│   │       ├── utils
│   │       └── wallet 
│   └── adena-torus-signin // MPC Google Login module 
│
└── scripts // Build scripts

Metadata

Metadata

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions