wellyshen / react-cool-starter

😎 🐣 A starter boilerplate for a universal web app with the best development experience and a focus on performance and best practices.
MIT License
1.31k stars 242 forks source link

What did you do through this starter boilerplate? #6

Open wellyshen opened 8 years ago

wellyshen commented 8 years ago

Let's make some sharing between us 👻

dianafaye17 commented 8 years ago

I've just started as well, but this is by far the best boilerplate project I've ever used. I'm learning Redux through playing with this boilerplate. I have a question: What does it use that makes those full page white on black debug messages instead of printing them just in the console? That's awesome and I really want to know what's doing it.

wellyshen commented 8 years ago

Hi @dianafaye17 Some error message will be printed on the screen through my boilerplate however some of them are printed by 3rd party libraries, can you attachment the screenshot to me? Thanks

dianafaye17 commented 8 years ago

I'm referring to these ones:

screen shot 2016-10-27 at 10 55 36 am
wellyshen commented 8 years ago

Hi @dianafaye17 I think the screen error message is provided through webpack-2, I just guess not do deep survey :)

TitanKing commented 8 years ago

Just wanted to say thank you.

We are choosing this boilerplate because;

We are not choosing one of the popular ones due to its large list of fragile dependencies and opiniated complex stack.

NiluK commented 7 years ago

This is the best isomorphic starterkit I've found on the web so far. Thanks for it. We're currently using it in a WIP project.

jmsherry commented 7 years ago

I concur with NiluK! I think it's really good! Any criticisms I make are only because I want it to get better. I am grateful to you @wellyshen for all your efforts and you'll be pleased to know that I'm taking it into production as we speak! :)

michaeljonathanblack commented 7 years ago

I'm looking at using this starter for developing a PWA (Progressive Web App), however I need to investigate the difficulty of integrating async routes (route component and reducer chunking) as that seems to be a critical part in reducing initial request size.

I am also concerned about how often I am running into checksum errors when fiddling around with this starter kit. I have not quite figured out how to consistently reproduce them, but they're usually solved by killing the app the restarting it.

TriStarGod commented 7 years ago

I'm learning to program in react and this project has all the latest "key" terms I'm looking for. Is there any opensource project I can checkout that current uses it? Hopefully its complex enough to be useful (ie. logins, db calls, etc).

iamacup commented 7 years ago

@wellyshen - www.sliips.com / https://github.com/iamacup/sliips-ui

Thanks for your hard work on this template :)

wellyshen commented 7 years ago

@iamacup Great Job, it looks interested.

jeghers commented 7 years ago

Ported my Ham Radio Callsign Lookup app with Ract/Redux. But I am not sure how to deploy the production code into a Linux system daemon (in CentOS) so that systemd can start/stop it. Any advice? Can this starter kit be integrated with pm2?

aagentah commented 7 years ago

@iamacup hey that looks sweet man, did you disable 'types'? Just curious!

iamacup commented 7 years ago

@danjonesdev yes and I recommend anyone else does the same unless they are building something that is going to be paid for off the bat and / or needs to be super robust from day 1.

The thing about making something that is fully testable with strong typing is that - while it sounds nice - it has two major drawbacks:

1) Unless you know what you are building is going to be paid for / consumed - why bother? Sliips is a startup and we either fail (and thus who cared about strong typing) or we will succeed (in which case we get a bunch of cash and can pay someone to sort out test coverage later)

2) It takes a while and makes the syntax really hard to read at a glance.

This is not true of our backend which needs to be rock solid, the frontend however... ;-)

aagentah commented 7 years ago

@iamacup that's actually really insightful, I may actually do the same (I'm building an article site with this boilerplate) and I've always found using Types on the front-end to be a bit excessive!

wellyshen commented 7 years ago

It maybe a little bit annoying, but the type checking help me avoid many bug troubles ;)

messi-yang commented 7 years ago

@wellyshen You wrap action, reducer and containers together, it's cool and I like it. But if one day you have two containers, both of them want to use same action & reducer, cuz they might have same task to do. So how would you deal with this problem, sharing the action or reducer.

I checked this Ducks File Structure for Redux and I tried to compare the props and cons between you and Ducks.

Also one more question, why use redux-thunk instead of redux-saga ?

Thanks.

wellyshen commented 7 years ago

@DumDumGeniuss

Thank you for give this starter a try. If you have action / reducer shared by multiple containers you can create a common folder for them. The project structure can be adjusted for your need.

I use redux-thunk. Because it's created by the author of redux so I think it could works well with redux.

messi-yang commented 7 years ago

@wellyshen It makes sense, thanks. I think I'm still gonna change it to "Ducks" structure.

Just be curious that why not moving '/src/types/index.js' into '/src/redux' or create a new one in '/src/redux', since 99% types of it are for redux.

Thanks

FYI, I really really like this project, it's the most clear and readable starter-kit for react-redux-universal by far, hope you can keep maintaining this.

wellyshen commented 7 years ago

@DumDumGeniuss

I put type out of ./src/redux, because I think it more obvious. But your suggestion make sense. Just do it. Thanks man I will keep maintain it.

deepank411 commented 7 years ago

@DumDumGeniuss we are using this boilerplate too with exactly the same issue that you are talking about. We have an adaptive design so we have separate components for mobile and desktop but the same reducers. So we divided the src into three folders - mobile, desktop and common. The mobile and desktop folder contains the components while the common folder contains the reducers and the actions along with any other logic common to both web and mobile. It seems to be handling pretty well right now. Do let me know if you need to know anything more. Would love to be of help. :)

wellyshen commented 7 years ago

@deepank411 Thank you for sharing your developing experience.

Tuizi commented 7 years ago

@wellyshen Hello, in our team we plan to make a big update, the software we are building is not answering the needs of our clients anymore and we have problem with scalability. I am looking for a starter kit, the create-react-app is very great but doesn't support SSR so I am looking for alternative.

Why your starter kit?

The question I have for you @wellyshen is about the update, are actively working on this boilerplate? When there are major update like Babel 7 very soon are you planning to upgrade your boilerplate and give us clear steps to update the boilerplate files in our app?

wellyshen commented 7 years ago

@Tuizi Thank you for give this starter a try. I maintain this repo very often. For Babel 7 I will update it and you will see what I have adjusted from my commit.

BTW, there's a SSR framework call next. Have you heard it? How do you think about it?

aagentah commented 7 years ago

@iamacup Hey man, just got a quick question, What service do you use to host sliips? I'm going to be wanting to push my new project live in the next few months (using this boilerplate) - and not sure what to use (eg. godaddy? etc)

wellyshen commented 7 years ago

Congrats @danjonesdev, what kind of product did you make?

aagentah commented 7 years ago

@wellyshen thank you, It's an article based magazine for the genre of music I'm currently producing (halftime drum & bass) - the app isn't quite ready yet but it's coming along nicely thanks to this boilerplate, this will be the first react app that I deploy and backwards engineering with this boilerplate has really helped me understand the more complex side of react.

wellyshen commented 7 years ago

@danjonesdev Sounds cool, waiting for your product. BTW, I'm going to release my iOS app which made by React-Native. I'll share it as soon as it has been deployed to App Store ;)

aagentah commented 7 years ago

That's cool man! Does this mean you will be doing a react-native-cool-starter? 😄 @wellyshen

A react & react-native branch that share redux, server etc but use different view components for mobile and web would be so sweet :) just a thought!

wellyshen commented 7 years ago

@danjonesdev Haha, sounds great. But I don't have time to maintain two starters :(

Haargeeel commented 6 years ago

@wellyshen very nice starter. Helped me a lot for just upgrading my own project. Will definitely use it for the next one. kudos

LeeFrancis commented 6 years ago

Nice starter.. Thanks. Just Curious why you removed the __DISABLE_SSR__ flag. Found it useful to debug app in Browser dev tools rather than throw an error on the server.

wellyshen commented 6 years ago

@LeeFrancis Thank you for give it a try. Recently I'm developing code-splitting for this starter and I found if I wanna keep __DISABLE_SSR__ mode that I need to add more logics and configurations. Therefore I remove the flag trying to keep this starter simple and clear.

aagentah commented 6 years ago

Has anyone successfully deployed using Heroku? I am currently experiencing problems doing so and would love to know what other people have tried. @iamacup did you use Heroku for sliips?

Thank you in advance!

iamacup commented 6 years ago

Sorry @danjonesdev were using a docker/kubenetes combo.

aagentah commented 6 years ago

@iamacup no problem, cheers man!

dayrlism10 commented 6 years ago

hey just a suggestion, it will be good if you be possible to place a sample code for nested routing with sub-components, a very good piece of work by the way, im using this boilerplate for my cms project soon. 👍

wellyshen commented 6 years ago

The nested routes example is here.

aagentah commented 6 years ago

So yesterday I launched Rendah Mag, an article based magazine focusing on the latest news and releases within the 'halftime drum & bass' community (which is the genre I produce in my spare time)

The magazine is built on top of this starter and I would like to thank @wellyshen for the great work and also for helping me with a few issues along the way!

Here's the site live: https://www.rendahmag.com/

wellyshen commented 6 years ago

@danjonesdev

Amazing website bro 👍. Is this your working or personal product? Where did you get the content? BTW, would you like let it be a part of Real Case Study of this starter kit?

aagentah commented 6 years ago

@wellyshen Thank you man!

This is a personal project I have been planning for a long time. The content is written by both myself & some authors who have agree'd to create content for the magazine!

Of course, feel free to add it to Real Case Study!

wellyshen commented 6 years ago

@danjonesdev I just added it.

masterial commented 6 years ago

I am trying to use this for a project that includes websockets. Is it possible to set it up some components that are excluded in the server rendering pipeline? How do I do that? Great boilerplate, btw!

wellyshen commented 6 years ago

@destinatis Did you mean lazy loading components?

masterial commented 6 years ago

@wellyshen Umm... Ideally, ws integration into express for the backend, html5-websocket client and react+redux setup for onmessage callbacks for the frontend.

maiconcarraro commented 6 years ago

I'll use this for a new project from my job, I really enjoy your boilerplate. We'll have a big product, a lot of containers and components, and I liked your folder structure too :D

@wellyshen I would like your thoughts... if you can :D I liked your folder structure, but I was looking other patterns, and I found this read here and it's similar to your, but have some differences... whats your thoughts?

wellyshen commented 6 years ago

@maiconcarraro Thank you for your feedback. I'll spend time to read the article that you shared to me 👍

maiconcarraro commented 6 years ago

@wellyshen there is a way to support you? like Buy me a coffee

wellyshen commented 6 years ago

@maiconcarraro Haha, dude you are very welcome. Maybe one day I visit your country then you can buy me a real coffee lol.

maiconcarraro commented 6 years ago

@wellyshen absolutely! If you visit let me know 👍

Another feedback, yarn build has the command rm -rf that doesn't work on windows (at least on cmd, and powershell is a different parameter). I have cmder, so it's work great... but someone else can have this problem if try to build on default cmd (or visual code default terminal too)

I can help you if you need