A component-based site builder made with React, NextJS and NodeJS.
Clone the repository and install modules:
npm install
# or
yarn
Start MongoDB and create a database called layout
.
Add environment variables:
cp api/.env.example api/.env
cp www/.env.example www/.env
# Then add the required environment variables.
Start the frontend:
cd packages/www
npm run dev
Start the backend:
cd packages/api
npm run dev
The site is broken up into interdependent packages with Lerna.
A Node server using express to interact with a MongoDB database.
React components compiled with Babel at built time to be used on the built sites.
Basically a custom implementation of the React component tree to generate either static HTML or a React component tree for a given page on a site. Also parses a custom styled components api and adds styles to the page.
React components compiled with Babel at built time to be used on the built sites, meant to contain components.
Shared utility components between the frontend and backend.
The frontend of the app using NextJS.
If any of the packages other than api
or www
run these commands in the root directory.
npm run update-packages
npm run publish-packges
SSH into the deployment server and navigate to the root directory. Then run:
git pull
npm run build
npm run restart