|
3 | 3 | A simple chat application that uses react.js, redux and socket.io. |
4 | 4 |
|
5 | 5 |
|
6 | | -## things left to have the v1 |
7 | | - |
8 | | -- [x] finish UI/layout components and styles with light/dark color themes |
9 | | - |
10 | | -- [x] finish the redux code to manage the application data/states |
11 | | - |
12 | | -- [x] socket.io |
13 | | - |
14 | | - - [x] socket.io-client mock |
15 | | - |
16 | | - - [x] connect to the socket.io server to handle the messages |
17 | | - |
18 | | - - [x] build a local socket.io server |
19 | | - |
20 | | - - [x] connect to the local socket.io server |
21 | | - |
22 | | - - [x] deploy socket.io server to a now.sh instance |
23 | | - |
24 | | - - [x] connect to the remote socket.io server |
25 | | - |
26 | | -- [x] use the settings theme state to switch between the themes |
27 | | - |
28 | | -- [x] add local storage support to persist the changes on the settings page |
29 | | - |
30 | | -- [x] add i18n (internationalization) support |
31 | | - |
32 | | -- [x] add the unreaded messages to the chat tab when user is on the settings tab |
33 | | - |
34 | | -- [ ] write down the documentation under the `docs/` directory |
35 | | - |
36 | | - |
37 | 6 | ## Prerequisites |
38 | 7 |
|
39 | 8 | * Must have [Git](https://git-scm.com/) installed |
@@ -72,95 +41,27 @@ A simple chat application that uses react.js, redux and socket.io. |
72 | 41 | * deploy the production build to the github gh-pages: `yarn do-deploy` or `npm run do-deploy` |
73 | 42 |
|
74 | 43 |
|
75 | | -## Useful links |
76 | | - |
77 | | -### Styles (CSS and SASS) |
78 | | - |
79 | | -* [Understanding and Using rem Units in CSS — SitePoint](https://www.sitepoint.com/understanding-and-using-rem-units-in-css/) |
80 | | - |
81 | | -* [Sass's `@content` Directive Use Cases](https://robots.thoughtbot.com/sasss-content-directive) |
82 | | - |
83 | | -* [BEM](http://getbem.com/) |
84 | | - |
85 | | - * [Using Sass to Control Scope With BEM Naming | CSS-Tricks](https://css-tricks.com/using-sass-control-scope-bem-naming/) - 2018/02/28 |
86 | | - |
87 | | - * [Modular CSS with Sass & BEM | Mat Hayward](http://mathayward.com/modular-css-with-sass-and-bem/) - 2014/01/17 |
88 | | - |
89 | | - |
90 | | -### Webpack |
91 | | - |
92 | | -* [Webpack](https://webpack.js.org/) |
93 | | - |
94 | | -* [How to use Webpack with React: an in-depth tutorial | freeCodeCamp](https://medium.freecodecamp.org/learn-webpack-for-react-a36d4cac5060) |
95 | | - |
96 | | -* [Optimizing front-end delivery with Webpack 4 | Jasel Gadhia](https://jes.al/2018/04/optimizing-front-end-delivery-with-Webpack-4/) |
97 | | - |
98 | | - |
99 | | -### React and Redux( middleware( thunk ) ) |
100 | | - |
101 | | -* [React](https://reactjs.org/) |
102 | | - |
103 | | - * [[YouTube] 6 Pro Tips from React Developers](https://www.youtube.com/watch?v=xa-_FIy2NgE) |
104 | | - |
105 | | - * [React Stateless Functional Components: Nine Wins You Might Have Overlooked | Hackernoon](https://hackernoon.com/react-stateless-functional-components-nine-wins-you-might-have-overlooked-997b0d933dbc) - 2016/03/28 |
106 | | - |
107 | | - * [[YouTube] Get derived state from props in React 16.3 | hackages.tv](https://www.youtube.com/watch?v=p_m4TrYGtCo) - 2018/03/14 |
108 | | - |
109 | | - |
110 | | -* Forms |
111 | | - |
112 | | - * [Forms | React Docs](https://reactjs.org/docs/forms.html) |
113 | | - |
114 | | - * [React Forms: Using Refs | CSS-Tricks](https://css-tricks.com/react-forms-using-refs/) |
115 | | - |
116 | | - * [Better Form Management | Robbie Dela Victoria – Medium](https://medium.com/@robbiedelavictoria/better-form-management-37c994095b1c) |
117 | | - |
118 | | - |
119 | | -* i18n |
120 | | - |
121 | | - * [i18n next](https://www.i18next.com/) |
122 | | - |
123 | | - * [react i18n next](https://react.i18next.com/) |
124 | | - |
125 | | - * [I18n with React and i18next | Danny Hurlburt - Alligator.io](https://alligator.io/react/i18n-with-react-and-i18next) |
126 | | - |
127 | | - * [[GitHub] i18next / react-i18next / examples](https://github.com/i18next/react-i18next/tree/master/example) |
128 | | - |
129 | | - * [[SandBox Editor] react i18n next example](https://codesandbox.io/s/l4qrory2nl) |
130 | | - |
131 | | --- |
132 | | - |
133 | | -* [Redux Integration | React Router Docs](https://reacttraining.com/react-router/web/guides/redux-integration) |
134 | | - |
135 | | --- |
136 | | - |
137 | | -* [Redux](https://redux.js.org/) |
138 | | - |
139 | | - * [[Sandbox Editor] Todos](https://codesandbox.io/s/github/reduxjs/redux/tree/master/examples/todos) |
140 | | - |
141 | | - * [A Dummy's Guide to Redux and Thunk in React | Matt Stow on CodePen](https://codepen.io/stowball/post/a-dummy-s-guide-to-redux-and-thunk-in-react) |
142 | | - |
143 | | - * [[GitHub] stowball / dummys-guide-to-redux-and-thunk-react](https://github.com/stowball/dummys-guide-to-redux-and-thunk-react) |
| 44 | +## [Documentation](docs/README.md) |
144 | 45 |
|
145 | | - * [Redux: Persisting the State to the Local Storage | @dan_abramov on @eggheadio](https://egghead.io/lessons/javascript-redux-persisting-the-state-to-the-local-storage) |
| 46 | +* [Versioning system](docs/README.md#versioning-system) |
146 | 47 |
|
147 | | -* [[GitHub] reduxjs / redux-thunk](https://github.com/reduxjs/redux-thunk) - use [withExtraArgument](https://github.com/reduxjs/redux-thunk#injecting-a-custom-argument) to inject the SocketIO service and localstorage service API |
| 48 | +* [Application requirements](docs/README.md#application-requirements) |
148 | 49 |
|
149 | | - * [Super Simple Redux Thunk Example | Tyler Buchea](http://blog.tylerbuchea.com/super-simple-redux-thunk-example/) - 2017/10/10 ([Sandbox Editor](https://codesandbox.io/s/github/tylerbuchea/my-simple-async-app)) |
| 50 | + * [Features](docs/requirements/features.md) |
150 | 51 |
|
151 | | -* Multiple actions |
| 52 | + * [Techinal](docs/requirements/techinal.md) |
152 | 53 |
|
153 | | - * [Can I dispatch multiple actions from Redux action creators?](http://jamesknelson.com/can-i-dispatch-multiple-actions-from-redux-action-creators/) |
| 54 | +* [About the project](docs/README.md#about-the-project) |
154 | 55 |
|
155 | | - * [Redux Thunk – how to populate various reducers](http://frontendinsights.com/redux-thunk-populate-various-reducers/) |
| 56 | + * [Architecture](docs/project/README.md#architecture) |
156 | 57 |
|
| 58 | + * [Folders](docs/project/README.md#folders) |
157 | 59 |
|
158 | | -#### Code Style Guide |
| 60 | + * [Code](docs/project/README.md#code) |
159 | 61 |
|
160 | | -* [[Gist] datchley / react-redux-style-guide.md](https://gist.github.com/datchley/4e0d05c526d532d1b05bf9b48b174faf) - React + [Redux](https://gist.github.com/datchley/4e0d05c526d532d1b05bf9b48b174faf#redux) Style Guide |
| 62 | + * [Dependencies](docs/project/README.md#dependencies) |
161 | 63 |
|
162 | | -* Project architecture re-ducks: [Scaling your Redux App with ducks | freeCodeCamp](https://medium.freecodecamp.org/scaling-your-redux-app-with-ducks-6115955638be) |
| 64 | + * [Features](docs/project/features.md) |
163 | 65 |
|
164 | | - * [[GitHub] alexnm / re-ducks](https://github.com/alexnm/re-ducks) - An attempt to extend the original proposal for redux modular architecture |
| 66 | + * [Useful references](docs/project/useful-references.md) |
165 | 67 |
|
166 | | - * [[GitHub] FortechRomania / react-redux-complete-example](https://github.com/FortechRomania/react-redux-complete-example) - A react+redux example project based on the re-ducks folder structure |
0 commit comments