1 | # Fullstack System
|
2 | > A build and development system for creating Client+Server applications with Socket.IO, React, and
|
3 | > Express.
|
4 |
|
5 | This module provides a setup for creating web applications with a backend server and front end client. Out of the box, you
|
6 | can use Socket.IO, React, and Express, all with hot reloading.
|
7 |
|
8 | This framework might not be the best thing to use since the Api is not documented much, and I change the default settings
|
9 | (to improve them) a lot, and I usually add features only when I need them for my own projects.
|
10 |
|
11 | ## Create a new Project
|
12 | ```
|
13 | # Create a new project
|
14 | npx fullstack-system new my-app
|
15 |
|
16 | # NPM Modules are automatically installed, so you can
|
17 | # start working right away.
|
18 | cd my-app
|
19 | npm start
|
20 | ```
|
21 |
|
22 | ## Features
|
23 | Out of the box, you get:
|
24 |
|
25 | - **React Automatic Hot-Reload**. You just write React and the behind the scenes will automatically add in `react-hot-loader` to update changes without refreshing.
|
26 | - **CSS Modules**, import any `.module.css`
|
27 | - **TypeScript Support**, just install `typescript` and add a `tsconfig.json`
|
28 | - **Sass/SCSS Support**, just install `node-sass`
|
29 |
|
30 | ## Documentation
|
31 | ***TODO: Fully document everything in the project.***
|
32 |
|
33 | You need two entry files in your project, one at `./src/server/index.js` and one at `./src/client/index.js`.
|
34 |
|
35 | ### Files
|
36 | - `src/static/index.html` index.html template
|
37 | - `src/client/index.js` Client Entry File
|
38 | - `src/server/index.js` Server Entry File
|
39 | - `src/static` Extra static resources mounted at root of website.
|
40 | - `webpack.config.js` Webpack extension configuration.
|
41 | - `webpack.client.config.js` Webpack extension configuration (only on client).
|
42 | - `webpack.server.config.js` Webpack extension configuration (only on server).
|
43 | - `babel.config.js` Babel config extension.
|