Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer environment, tools and dependecies #40

Open
cangoektas opened this issue Jul 8, 2016 · 3 comments
Open

Developer environment, tools and dependecies #40

cangoektas opened this issue Jul 8, 2016 · 3 comments

Comments

@cangoektas
Copy link
Collaborator

cangoektas commented Jul 8, 2016

I have a feeling that most of our bugs lately (#39, #38, #37, #34) are related to some outdated developer tools or conflicts between different developer tools. This is really frustrating and bad developer experience.

We currently have 31 devDependencies in our package.json, 24 of those are modules for Grunt. Our Gruntfile.js is huge with over 500 lines of code. This is simply not maintainable. If we plan to hand this project over to Alumni or other developers we can't expect them to know are even want to work with this configuration.

In the last months I worked on different Node projects and was able to gain more knowledge on this topic. In #28 I already said that we don't need Bower for our dependencies and I believe we don't even need Grunt. My solution to simplify our setup:

  1. Use npm to manage all dependencies
  2. Use npm scripts for all developer tools

Instead of installing tools, Grunt wrappers for them, additional Grunt custom modules for those, defining Grunt tasks etc. to access tools we could be using the tools directly which has become common practice in the NodeJS world. Babel, Webpack, Karma, Mocha, Nodemon etc. all those tools expose a command line interface we could use. We just need to figure out what parts of those tools we need, define the scripts and replace Grunt like that. We don't need this complicated setup. If you look at open source projects from Facebook and Google nobody is using Grunt oder Gulp.

Managing this project is not easy which is also why we have struggled so much with integrating TravisCI. I believe we currently again have problems with it.

I think this should be at the top of our priority list. What do you think @KaiOelfke @ahmedissa?

@KaiOelfke
Copy link
Owner

I cannot say much here, because I unfortunately don't know much about tools and setups in the Angular / NodeJS environment. It's definitely something we need to improve, but maybe cleaning up the Gruntfile and as earlier described in another issue having clear dependencies and not super flexible ones would already fix it. If we change our complete tools and setup now maybe it also takes a lot of time until we have everything running in the same way.

I think @ahmedissa has the best insights here.

Perhaps we should just have one Skype meeting, where we go through everything together and try to debug these dev env issues. We want and need to focus on development and not on tools and config to move on.

@ahmedissa
Copy link
Collaborator

Refactor and Redesign is in progress.

the new stage will use:
AngularJS 1.5,
Webpack,
Gulp,
NPM

screenshot from 2016-07-16 00 36 03
screenshot from 2016-07-16 00 36 14
screenshot from 2016-07-16 00 36 21
screenshot from 2016-07-16 00 36 27
screenshot from 2016-07-16 00 36 35

@cangoektas
Copy link
Collaborator Author

cangoektas commented Jul 16, 2016

@ahmedissa why have you started to redesign the website? What has this to do with this issue and when was this decided that we even would redesign now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants