An open API service indexing awesome lists of open source software.

https://github.com/ryan-ahn/npm-remix-starter

remix 프로젝트 시작을 위한 NPM 패키지
https://github.com/ryan-ahn/npm-remix-starter

eslint-rules prettier-config remix typescript vite vitest

Last synced: 27 days ago
JSON representation

remix 프로젝트 시작을 위한 NPM 패키지

Awesome Lists containing this project

README

          

# Ryan's Remix Awesome Starter

![Author](https://img.shields.io/badge/Author-ryan-orange.svg)
![License](https://img.shields.io/badge/License-MIT-blue.svg)
![Last Commit](https://img.shields.io/github/last-commit/ryan-ahn/npm-remix-starter)

## Features

- [x] ⚙️  Small & Fast Bundler (Vite)
- [x] 🗝️  Typed Programming (TypeScript)
- [x] 🗄️  Database Design (Prisma)
- [x] 📙  Strict Codebase (ESLint & Prettier)
- [x] 🧪  Component Test Code (Vitest)
- [x] 📊  Test Coverage Measurement (Vitest)
- [x] 🧵  Built-in Component & Layouts
- [x] ✨  Reset Style Setup
- [x] ⚡️  Mixin Style Setup
- [x] 📍  Absolute Paths
- [x] 📫  Page SEO

## Frameworks

- **Bundler** : Vite
- **SSR** : Remix
- **Core** : React
- **Store** : Zustand
- **Test** : Vitest
- **Style** : Emotion

## Code Pattern

- **Static(public)**
- **Root(App)**

- ⎣ **constants** - static resource

- ⎣ **components** - atomic stateless components

- ⎣ **containers** - stateful components

- ⎣ **interface** - interfaces

- ⎣ **layouts** - layouts

- ⎣ **libs** - store, hooks, utils

- ⎣ **routes** - page routes

- ⎣ **styles** - style set

## Getting Started

### 1) Installation

```shell
npx remix-starter my-project
cd my-project
```

### 2) Run Project

```shell
npm run dev
```

### 3) Run Deploy

```shell
npm run build
```

## Using with Mixin

```javascript
// use mixin
import {
flexSet,
boxSet,
colorSet,
backgroundSet,
fontSet,
} from "@styles/mixin";

const Style = styled.div`
${theme.flexSet("center", "center", "column")};
${theme.boxSet("00px", "00px", "00px")};
${theme.colorSet("white", "black")};
${theme.backgroundSet("URL", "contain")};
${theme.fontSet(00, 000, 00)};
`;
```