Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
iBz-04 committed Jun 21, 2024
0 parents commit 317b825
Show file tree
Hide file tree
Showing 59 changed files with 11,974 additions and 0 deletions.
32 changes: 32 additions & 0 deletions CONTRIBUTE.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Intro

To begin, thanks for your thoughts on contributing!

If you have found an issue or would like to request a new feature, simply create a new issue detailing the request. I also welcome pull requests with an open mind. See below for info on getting started with development and submitting pull requests.

## Found an Issue?

If you find a bug in the source code or a mistake in the documentation, you can help by
submitting an issue to my [GitHub Repository](https://github.com/iBz-04/Dashboard-starter/issues/new).
Even better, you can submit a Pull Request with a fix or solution.

## Development Workflow

### Install dependencies

```sh
npm install
```

### Run dev server

```sh
npm run dev
```

### Commit Message

Your commit message should:

- start with a verb so that I can easily read your commit message this way: "This commit will ..."
e.g.: "Fix the home page button" or "Add support for dark mode"
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Ibrahim Rayamah

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
24 changes: 24 additions & 0 deletions reforge-main/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
32 changes: 32 additions & 0 deletions reforge-main/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// .eslintrc.cjs
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:prettier/recommended',
'plugin:@typescript-eslint/recommended',
],
settings: {
react: {
version: 'detect',
},
},
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 'latest',
sourceType: 'module',
},
plugins: ['react'],
rules: {
'react/react-in-jsx-scope': 'off',
'@typescript-eslint/no-unused-vars': ['error'],
},
};
6 changes: 6 additions & 0 deletions reforge-main/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'monthly'
37 changes: 37 additions & 0 deletions reforge-main/.github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Test Deployment

on:
pull_request:
branches: [main]

jobs:
test-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: 'npm'

- name: Restore cache
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Run lint
run: npm run lint

- name: Run prettier
run: npm run prettier

- name: Build
run: npm run build
24 changes: 24 additions & 0 deletions reforge-main/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
24 changes: 24 additions & 0 deletions reforge-main/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
9 changes: 9 additions & 0 deletions reforge-main/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"semi": true,
"arrowParens": "always",
"bracketSpacing": true,
"printWidth": 80,
"singleQuote": true,
"tabWidth": 2,
"endOfLine": "auto"
}
113 changes: 113 additions & 0 deletions reforge-main/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<br/>

<p align="center">

<h1 align="center">
<img src="https://user-images.githubusercontent.com/45073703/225269899-d0d3b91c-b09b-4835-ac78-c0e0be4632fe.png" width="30%">
</h1>
<h4 align="center">An out-of-box UI solution for enterprise applications as a React boilerplate.</h4>

<p align="center">
<a href="https://reforge.netlify.app"><b>Demo</b></a>
·
<a href="https://github.com/arifszn/reforge/issues"><b>Report Bug</b></a>
·
<a href="https://github.com/arifszn/reforge/discussions/categories/ideas"><b>Request Feature</b></a>
</p>
</p>

<p align="center">
<a href="https://reforge.netlify.app">
<img src="https://user-images.githubusercontent.com/45073703/235440010-065d07a1-f387-4f0b-a3a2-879b2d62d1d4.gif" alt="Preview" width="60%"/>
</a>
<br/>
<a href="#arifszn"><img src="https://arifszn.netlify.app/assets/img/drop-shadow.png" width="50%" alt="Shadow"/></a>
</p>

## Features

- Elegant and customizable UI using `Tailwindcss` and `Ant Design`.
- Single page application using `React Router`.
- Mock API request using `reqres`.
- Powerful layout and table using `@ant-design/pro-components`.
- Code splitting and lazy loading component using `@loadable/component`.
- State management using `react-redux` and `@reduxjs/toolkit`.
- Persistent redux state using `redux-persist`.
- Loading progress bar using `nprogress`.
- `ESLint` and `Prettier` enabled.
- Option to enable Progressive Web App (PWA). (Only available in production build)
- Axios interceptor enabled to handle API authorization.
- Automated workflow for checking new Pull Request.

## Demo

https://reforge.netlify.app

### Credentials

- **Email:** `[email protected]`
- **Password:** `password`

## Usage

- Clone the project and change directory.

```shell
git clone https://github.com/arifszn/reforge.git
cd reforge
```

- Install dependencies.

```shell
npm install
```

- Run dev server.

```shell
npm run dev
```

- Finally, visit [`http://localhost:5173`](http://localhost:5173) from your browser. Credentials can be found above.

## Config

Settings including app name, theme color, meta tags, etc. can be controlled from one single file **`config.ts`** located at the project's root.

```ts
//config.ts
const CONFIG = {
appName: 'Reforge',
helpLink: 'https://github.com/arifszn/reforge',
enablePWA: true,
theme: {
accentColor: '#818cf8',
sidebarLayout: 'mix',
showBreadcrumb: true,
},
metaTags: {
title: 'Reforge',
description:
'An out-of-box UI solution for enterprise applications as a React boilerplate.',
imageURL: 'logo.svg',
},
};

export default CONFIG;
```

## Support

<p>You can show your support by starring this project. ★</p>
<a href="https://github.com/arifszn/reforge/stargazers">
<img src="https://img.shields.io/github/stars/arifszn/reforge?style=social" alt="Github Star">
</a>

## Contribute

To contribute, see the [Contributing guide](https://github.com/arifszn/reforge/blob/main/CONTRIBUTING.md).

## License

[MIT](https://github.com/arifszn/reforge/blob/main/LICENSE)
25 changes: 25 additions & 0 deletions reforge-main/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//config.ts

enum LayoutType {
MIX = 'mix',
TOP = 'top',
SIDE = 'side',
}

const CONFIG = {
appName: 'Reforge',
helpLink: 'https://github.com/iBz-04/Dashboard-starter',
enablePWA: true,
theme: {
accentColor: '#838cf9',
sidebarLayout: LayoutType.MIX,
showBreadcrumb: true,
},
metaTags: {
title: 'Reforge',
description: 'A dashboard UI solution for Saas and web apps.',
imageURL: 'logo.svg',
},
};

export default CONFIG;
Loading

0 comments on commit 317b825

Please sign in to comment.