This is a fullstack JavaScript application with:
- React (Create React App) for the frontend
- Node.js + Express for the backend
The frontend is modularized into separate apps and shares components via a common shared/ folder.
App/
├── client/ # React frontend
│ ├── public/
│ ├── src/
│ │ ├── apps/ # e.g., alarmx
│ │ └── index.js
│ ├── package.json
│ └── README.md
├── server/ # Express backend
│ ├── server.js
│ └── package.json
├── .gitignore
└── README.md
# Install frontend dependencies
cd client
npm install
# Install backend dependencies
cd ../server
npm installFrom the root of the project:
npm run devThis will:
- Start React on http://localhost:3000
- Start Express on http://localhost:8080
- Forward API requests (from frontend) to the backend
To allow the React frontend to talk to the Express backend during development, add this line to client/package.json:
"proxy": "http://localhost:8080","scripts": {
"start": "react-scripts start",
"build": "react-scripts build"
}"scripts": {
"start": "node server.js"
}- Add authentication (JWT, OAuth)
- Add form validation, protected routes
- Dockerize for easy deployment
- Add tests (Jest, Supertest, etc.)
Feel free to fork this repo, submit issues, or open pull requests to improve the project!