{"id":16175013,"url":"https://github.com/app-generator/react-berry-dashboard","last_synced_at":"2025-03-19T00:31:03.583Z","repository":{"id":183277930,"uuid":"642239864","full_name":"app-generator/react-berry-dashboard","owner":"app-generator","description":"React Berry Dashboard - Full-Stack Product | AppSeed","archived":false,"fork":false,"pushed_at":"2023-08-03T08:52:20.000Z","size":535,"stargazers_count":17,"open_issues_count":2,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-11T05:55:54.110Z","etag":null,"topics":["berry-dashboard","mui-template","react","react-fullstack"],"latest_commit_sha":null,"homepage":"https://appseed.us/product/berry-dashboard/api-server-nodejs/react/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/app-generator.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-18T06:03:22.000Z","updated_at":"2025-03-01T06:07:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"2fa3b727-fab4-46cb-9c41-dac9265dc820","html_url":"https://github.com/app-generator/react-berry-dashboard","commit_stats":null,"previous_names":["app-generator/react-berry-dashboard"],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Freact-berry-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Freact-berry-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Freact-berry-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Freact-berry-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/app-generator","download_url":"https://codeload.github.com/app-generator/react-berry-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955700,"owners_count":20374373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["berry-dashboard","mui-template","react","react-fullstack"],"created_at":"2024-10-10T04:43:57.537Z","updated_at":"2025-03-19T00:31:03.575Z","avatar_url":"https://github.com/app-generator.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [React Node JS Berry](https://appseed.us/product/berry-dashboard/api-server-nodejs/react/) `full-stack`\n\n`Full-Stack` starter generated by [React App Generator](https://appseed.us/generator/react/) top of **[Berry Dashboard](https://appseed.us/product/berry-dashboard/api-server-flask/react/)** design. \nThe backend logic is provided by a simple, `easy-to-extend` **NodeJS API Server** that manages the Authentication flow (login, registration, logout) using `JSON Web Tokens` (JWT). \nThe **React** Design is crafted by [CodedThemes](https://codedthemes.com/?ref=appseed) on top of `MUI` Library.\n\n- 👉 [React Node JS Berry](https://appseed.us/product/berry-dashboard/api-server-nodejs/react/) - `Product Page`\n- 👉 [React Node JS Berry](https://react-node-js-berry-dashboard.appseed-srv1.com/) - `LIVE Demo`\n\n![React Berry Dashboard - Full-Stack Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/174480640-e0b450b1-07a8-4cc7-84bc-287bb9c45773.png)\n\n\u003cbr \u003e\n\n## ✨ `React` Berry Dashboard\n\n- `M-UI` based design\n- Modern aesthetics UI design - Designed by *[CodedThemes](https://codedthemes.com/?ref=appseed)*\n- React, Redux, Redux-persist\n\n\u003cbr /\u003e\n\n\u003e `Tests` (compatibility matrix)\n\n| NodeJS | NPM | YARN | \n| --- | --- | --- |  \n| `v14.0.0` | ✅ | ✅ |\n| `v16.0.0` | ✅ | ✅ | \n| `v18.0.0` | ❌ | ❌ | \n\n\n\u003cbr /\u003e\n\n## ✨ `NodeJS API` Features\n\n- Stack: `NodeJS` / `Express` / **SQLite** \n- `TypeScript`, Joy for validation\n- **DB Layer**: `TypeORM`, `SQLite` persistence\n- **Auth**: Passport / `passport-jwt` strategy\n- [API Definition](https://docs.appseed.us/boilerplate-code/api-unified-definition) - the unified API structure implemented by this server\n\n\u003cbr /\u003e\n\n\u003e `Tests` (compatibility matrix)\n\n| NodeJS | NPM | YARN | \n| --- | --- | --- | \n| `v18.0.0`  | ❌ | ✅ |\n| `v17.0.0`  | ❌ | ✅ |\n| `v16.13.0` | ❌ | ✅ | \n| `v16.0.0`  | ❌ | ❌ | \n\n\n\u003cbr /\u003e \n\n## ✨ How to use it\n\nBeing a full-stack product, the backend and the frontend should be compiled and started separately. \nBefore starting to compile the product, make sure you have the following tools installed in the environment:\n\n- [NodeJS](https://nodejs.org/en/) - version `14.x` or higher\n- [GIT](https://git-scm.com/) - used to clone tjhe sources from Github\n- [Python3](https://www.python.org/) - used in many tools\n\n\u003cbr /\u003e\n\n### 👉 Start the Frontend \n\n\u003e **Step 1** - Once the project is downloaded, change the directory to `react-ui`. \n\n```bash\n$ cd react-ui\n```\n\n\u003cbr \u003e\n\n\u003e **Step 2** - Install dependencies via NPM or yarn\n\n```bash\n$ npm i\n// OR\n$ yarn\n```\n\n\u003cbr /\u003e\n\n\u003e **Step 3** - Start in development mode\n\n```bash\n$ npm run start \n// OR\n$ yarn start\n```\n\n\u003cbr /\u003e\n\nAt this point, the app is available in the browser `localhost:3000` (the default address).\n\n\n\u003cbr /\u003e \n\n### 👉 Start the Backend Server \n\n\u003e **Step 1** - Change the directory to `api-server-nodejs`\n\n```bash\n$ cd api-server-nodejs\n```\n\n\u003cbr \u003e\n\n\u003e **Step 2** - Install dependencies via NPM or yarn\n\n```bash\n$ npm i\n// OR\n$ yarn\n```\n\n\u003cbr /\u003e\n\n\u003e **Step 3** - Run the SQLite migration via TypeORM\n\n```bash\n$ npm run typeorm migration:run\n// OR \n$ yarn typeorm migration:run\n```\n\n\u003cbr /\u003e\n\n\u003e **Step 4** - Start the API server (development mode)\n\n```bash\n$ npm run dev\n// OR\n$ yarn dev\n```\n\nThe API server will start using the `PORT` specified in `.env` file (default 5000).\n\n\u003cbr /\u003e \n\n## 👉 Codebase Structure\n\n```bash\n\u003c ROOT / src \u003e\n     | \n     |-- config/                              \n     |    |-- config.ts             # Configuration       \n     |    |-- passport.ts           # Define Passport Strategy             \n     | \n     |-- migration/\n     |    |-- some_migration.ts     # database migrations\n     |\n     |-- models/                              \n     |    |-- activeSession.ts      # Sessions Model (Typeorm)              \n     |    |-- user.ts               # User Model (Typeorm) \n     | \n     |-- routes/                              \n     |    |-- users.ts              # Define Users API Routes\n     | \n     | \n     |-- index.js                   # API Entry Point\n     |-- .env                       # Specify the ENV variables\n     |                        \n     |-- ************************************************************************\n```\n\n\u003cbr /\u003e\n\n## 👉 SQLite Path\n\nThe SQLite Path is set in `.env`, as `SQLITE_PATH`\n\n\u003cbr /\u003e\n\n## 👉 Database migration\n\n\u003e Generate migration:\n\n```bash\n$ yarn typeorm migration:generate -n your_migration_name\n```\n\n\u003e run migration: \n\n```bash\n$ yarn typeorm migration:run\n```\n\n\u003cbr /\u003e\n\n## [React Berry Dashboard](https://appseed.us/product/berry-dashboard-pro/full-stack/) `PRO Version`\n\n\u003e For more components, pages and priority on support, feel free to take a look at this amazing starter:\n\nBerry Dashboard is a premium React Design now available for download as a full-stack app. Made of hundred of elements, designed blocks, and fully coded pages, Berry Dashboard PRO is ready to help you create stunning websites and web apps.\n\n- 👉 [React Berry Dashboard PRO](https://appseed.us/product/berry-dashboard-pro/full-stack/) - Product Page\n  - ✅ `Enhanced UI` - more pages and components\n  - ✅ `Priority` on support\n\n![React Berry Dashboard PRO - Full-Stack Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/174492378-280b6de6-df58-4df7-865d-f86f6e9b1dd0.png)\n\n\u003cbr /\u003e\n\n---\n[React Node JS Berry](https://appseed.us/product/berry-dashboard/api-server-nodejs/react/) - Full-Stack Seed project generated by **[App Generator](https://appseed.us/generator/)**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Freact-berry-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapp-generator%2Freact-berry-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Freact-berry-dashboard/lists"}