0.1.6 ā€¢ Published 3 years ago

cra-template-econsor v0.1.6

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

cra-template-econsor

šŸš€ Get Started

To use this template, add --template econsor when creating a new app. For example:

npx create-react-app my-app --template econsor

or

yarn create react-app my-app --template econsor

Note: Avoid using Hello World as the project name.

šŸ“¦ Includes

āœØ Features

Built-in layout infrastructure for both anonymous and authorized states

Layout Banner

Each page in the project must be wrapped with one of these layouts.

import AuthLayout from '../../../layout/AuthLayout';

<AuthLayout title="Login" authorize="unauthorized">
    {/*Your page content here!*/}
</AuthLayout>
import MainLayout from '../../../layout/MainLayout';

<MainLayout title="Dashboard" authorize="authorized">
    {/*Your page content here!*/}
</MainLayout>

The authorize prop can take one of three options.

  • authorized Only authorized users can access this page.
  • unauthorized Only unauthorized users can access this page.
  • anyone Anyone can access this page.

Feature-oriented infrastructure

Prev infrastructure

This infrastructure is good infrastructure, and we've been using it since we started building React apps. However, this infrastructure makes it difficult to create a new feature within the project. Like you need to create a new file in each root directory (like actions, reducers, types). You must also do the same if you want to delete a feature. And I don't need to tell you about copying a feature into another project.

Next infrastructure

Using feature-oriented infrastructure will make it easy to remove a feature or copy it to another project.

Built-in user-authentication system

SignIn

SignUp

Reset Password (missing)

Change Password (missing)

Profile (missing)

create-react-process (crp)

šŸš€ Get Started

CRP is a tool built by econsor used to generate an easy CRUD process by fetching data structure from strapi.

Notes:

  1. Make sure you are running >= 14 node version
  2. Before running the command below, you must create a file named schemas.js in the /src/config/ directory
  3. Make sure the full path to your project does not contain Hello World or any instances of it (e.g. hello-world, HelloWorld)
node ./crp.js ../path/to/your/strapi/api/root/directory

This command will fetch all collection types from the strapi API and create a CRUD processs for each.

Supported Types

  • šŸŸ¢ Ā  Already supported
  • šŸ”µ Ā  Planned to be supported
  • šŸ”“ Ā  No plans to support it. Has to be handled manually

After running the crp command, you will find a new folder created in the /src/features directory for each collection type you have in your strapi API. For example, if you have a collection type called Favorite Place, your /src/features directory will contain a folder named FavoritePlaces.

šŸ“‚ features
ā”£ šŸ“‚ FavoritePlaces
ā”ƒ   ā”£ šŸ“‚ logic
ā”ƒ   ā”ƒ   ā”£ šŸ“„ actions.ts
ā”ƒ   ā”ƒ   ā”£ šŸ“„ api.ts
ā”ƒ   ā”ƒ   ā”£ šŸ“„ reducer.ts
ā”ƒ   ā”ƒ   ā”— šŸ“„ types.ts
ā”ƒ   ā”— šŸ“‚ views
ā”ƒ       ā”£ šŸ“„ CreateFavoritePlaceDialog.tsx
ā”ƒ       ā”£ šŸ“„ FavoritePlaceRow.tsx
ā”ƒ       ā”— šŸ“„ FavoritePlaces.tsx

šŸ“ Template

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago