create-react-go-ssr/README.md

78 lines
1.9 KiB
Markdown

# Create React SSR
This project aims to have a starter kit for creating a new React app with Server Side Rendering with a backend in go and tools that generally go along with it.
It is not a project like create-react-app, create-react-app is used as a starter kit that handles all your scripts underneath, this is a project for developers who want more control over their application.
Tech(Library or Framework) | Version |
--- | --- |
React (Render Library) | 18.2.0
Redux (Global State Management) | 4.2.1
React Router DOM (Routing) | 6.17.0
Jest (Testing) | 29.7.0
Cypress (E2E Testing) | 13.3.1
Typescript | 5.2.2
## Setup
To create a new project run in the terminal:
```
npx @aleleba/create-react-go-ssr app-name
```
Then run:
```
cd app-name
```
You will need to create a new .env file at the root of the project for global config.
This is an exaple of config.
```
#Environment
ENV= #Default production
#App Port
PORT= #Default 80
#Host
HOST= #Default localhost
#Prefix URL
PREFIX_URL= #Default ''
```
The default environment is production and the app port defauld is 80.
### For Development
In the terminal run:
```
npm run start-frontend:dev
npm run start-server:dev
```
The ENV enviroment variable should be "development" and choose the port of your preference with the enviroment variable PORT.
You will find the root component on:
```
src/frontend/components/App.tsx
```
You will find the Initial Component on:
```
src/frontend/components/InitialComponent.tsx
```
The manage of the routes you should find on:
```
src/routes
```
It is using "useRoutes" hook for working, more information for this here: (https://reactrouter.com/docs/en/v6/api#useroutes)
This will start the app in development mode, also it have Hot Reloading!
Enjoy coding!
### For Production
In the terminal run:
```
npm run build
```
It will create a build folder and run:
```
npm start
```
This will start the app.
## Cheers
Hope you enjoy this proyect! Sincerely Alejandro Lembke Barrientos.