npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vemo-ivo

v1.0.11

Published

Frontend UI cho Dareplay Tournament Frontend, sử dụng các công nghệ sau:

Downloads

878

Readme

Dareplay Tournament Frontend

Frontend UI cho Dareplay Tournament Frontend, sử dụng các công nghệ sau:

  • ViteJS
  • React
  • Typescript
  • TailwindCSS
  • Ant-Design

Cài đặt môi trường

  • Cài đặt NodeJS. Khuyến cáo sử dụng nodenv:
nodenv install 16.14.0
  • Hoặc tải trực tiếp từ: https://nodejs.org/en/

Lấy các biến môi trường

Các biến môi trường (dùng cho step ngay phía dưới) nằm ở đây.

Khởi chạy môi trường dev

  • Clone project:
git clone [email protected]:dare-dev/dareplay-tournament.git
  • Cài đặt dependency:
npm ci
  • Chạy ở môi trường dev (cổng mặc định là 3000):
cp .env.dev .env
npm run dev
  • Build ra bundle HTML CSS cho production:
npm run build
  • Chạy storybook (để preview component, chức năng,...)
npm run storybook

Sau đó mở localhost ở cổng 6006, có thể tùy chỉnh ở file package.json

Cấu trúc project

src
├── app.tsx
├── dapp
│   └── provider
├── favicon.svg
├── datasource
├── features
│   ├── authen-page
│   ├── farming
│   ├── game-events
│   ├── game-page
│   ├── ido
│   ├── ino
│   └── settings
├── index.css
├── layouts
│   ├── authen-layout.tsx
│   └── guest-layout.tsx
├── localization
├── logo.svg
├── main.tsx
├── shared
│   ├── components
│   ├── hooks
│   └── themes
├── types.d.ts
└── vite-env.d.ts

Mục tiêu: Chia các thành phần của project sao cho mỗi thư mục con của src/ có thể được tách ra làm module riêng, hoặc thậm chí tạo package npm riêng sau này để có thể tái sử dụng. Bao gồm:

  • dapp: Chứa các contracts, các hook, config các chain,... , để tương tác với blockchain / ví.
  • features: Chứa các trang (route) chính và các component con (không tái sử dụng được) trong các trang đó. Mỗi page sẽ có một folder riêng, file index.tsx export dạng default bên ngoài và các component con nằm trong thư mục cùng cấp với file index đó.
  • datasource: Chứa các module liên quan đến gửi/nhận dữ liệu. Sẽ có 3 folder con, tuỳ mục đích sử dụng:
    • remote: Chứa các http client / api client để gửi / nhận dữ liệu từ các server remote, có thể là qua HTTP / FTP,...
    • local: Chứa các helper / utility để lấy dữ liệu persistent từ local (có thể là localStorage của trình duyệt, hoặc cookie, local database,...)
  • layouts: Chứa các file layout trang, thường chỉ có 2 loại là authen và guest layout, sử dụng tương ứng cho: Các trang hiển thị sau khi đăng nhập và trước khi đăng nhập.
  • localization: Chứa các file translation, config để làm module đa ngôn ngữ. Các file translation nên để dạng json và có khuôn mẫu giống nhau.
  • shared: Bao gồm các folder con tương ứng nhu sau:
    • components: Chứa các component tái sử dụng nhiều lần, hoặc các component wrap các component khác từ third party.
    • hooks: Chứa các hook (cũng có thể tái sử dụng nhiều lần ở các project khác nhau), như hook quản lý debounce, hook chạy interval,...
    • themes: Chứa thông tin về theming, palette màu sắc, kích cỡ chữ, kiểu màu sáng / tối,...

Lưu ý và quy ước

Project sử dụng 2 framework cho UI là Ant-Design (antd) và TailwindCSS (tailwind). Mục đích là để có thể code component nhanh và có thể gỡ bỏ / thay thế sau này nếu không phù hợp. Tuy nhiên do 2 framework này có một số cơ chế chung (như tên class trong className cả hai đều có) nên có một số quy ước như sau để tránh conflict:

  • Chỉ sử dụng các utility class name của Tailwind. Đọc tài liệu tham khảo tại đây.
  • Tránh sử dụng các class name có prefix là ant- vì sẽ trùng với các class name của ant design.
  • Không sử dụng các component import từ ant design trực tiếp mà viết wrapper trong shared/components hoặc thư mục con trong features/ tương ứng.
  • Tuân thủ design guideline từ thiết kế của designer (bảng màu, số lượng font chữ, các cỡ chữ,...). Tốt nhất là define (hoặc viết nếu đã có sẵn) vào themes/ để tái sử dụng.

Link tham khảo

ViteJS IceStark: FAQ | Docs

Backend API Docs

Link

Authors

Copyright

Copyrights (c) 2022 - DareNFT - Alpha Waves PTE. LTD