React Node JS Berry
Open-source Full Stack seed project built in React and Django on top of Berry Dashboard (MUI Design)
Open-source full-stack seed project coded in React and Django on top of a MUI Design
from CodedThemes.
The React / NodeJS codebase is already configured with an SQLite database, API, and JWT token-based authentication flow.
- 👉 React Node JS Berry -
Product Page
- 👉 React Node JS Berry -
LIVE Demo
Product features
The product expects a running API backend that exposes an interface for login/logout and register actions. By default, the guest users are redirected to the login page. Once the user is authenticated using an existing account or the new one, all private pages are accessible.
React
Berry Dashboard
M-UI
based design- Modern aesthetics UI design - Designed by CodedThemes
- React, Redux, Redux-persist
Tests
(compatibility matrix)
NodeJS | NPM | YARN |
---|---|---|
v14.0.0 | ✅ | ✅ |
v16.0.0 | ✅ | ✅ |
v18.0.0 | ❌ | ❌ |
✨ NodeJS API
Features
- Stack:
NodeJS
/Express
/ SQLite TypeScript
, Joy for validation- DB Layer:
TypeORM
,SQLite
persistence - Auth: Passport /
passport-jwt
strategy - API Definition - the unified API structure implemented by this server
Tests
(compatibility matrix)
NodeJS | NPM | YARN |
---|---|---|
v18.0.0 | ❌ | ✅ |
v17.0.0 | ❌ | ✅ |
v16.13.0 | ❌ | ✅ |
v16.0.0 | ❌ | ❌ |
How to use it
Being a full-stack product, the backend and the frontend should be compiled and started separately. Before starting to compile the product, make sure you have the following tools installed in the environment:
- NodeJS - version
14.x
or higher - GIT - used to clone tjhe sources from Github
- Python3 - used in many tools
👉 Start the Frontend
Step 1 - Once the project is downloaded, change the directory to
react-ui
.
$ cd react-ui
Step 2 - Install dependencies via NPM or yarn
$ npm i
// OR
$ yarn
Step 3 - Start in development mode
$ npm run start
// OR
$ yarn start
At this point, the app is available in the browser localhost:3000
(the default address).
👉 Start the Backend Server
Step 1 - Change the directory to
api-server-nodejs
$ cd api-server-nodejs
Step 2 - Install dependencies via NPM or yarn
$ npm i
// OR
$ yarn
Step 3 - Run the SQLite migration via TypeORM
$ npm run typeorm migration:run
// OR
$ yarn typeorm migration:run
Step 4 - Start the API server (development mode)
$ npm run dev
// OR
$ yarn dev
The API server will start using the PORT
specified in .env
file (default 5000).
👉 Codebase Structure
< ROOT / src >
|
|-- config/
| |-- config.ts # Configuration
| |-- passport.ts # Define Passport Strategy
|
|-- migration/
| |-- some_migration.ts # database migrations
|
|-- models/
| |-- activeSession.ts # Sessions Model (Typeorm)
| |-- user.ts # User Model (Typeorm)
|
|-- routes/
| |-- users.ts # Define Users API Routes
|
|
|-- index.js # API Entry Point
|-- .env # Specify the ENV variables
|
|-- ************************************************************************
👉 SQLite Path
The SQLite Path is set in .env
, as SQLITE_PATH
👉 Database migration
Generate migration:
$ yarn typeorm migration:generate -n your_migration_name
run migration:
$ yarn typeorm migration:run
Resources
- 👉 Free Support via Email & Discord
- 👉 Custom Development Services provided by experts
- 🚀 Full-Stack React Berry PRO -
PRO Version
- ✅
Enhanced UI
- more pages and components - ✅
Priority
on support
- ✅