KaiOelfke / alumni-db-frontend

This will contain the software for the JA-YE Alumni Europe member database platform.
1 stars 0 forks source link

Developer environment, tools and dependecies #40

Open cangoektas opened 8 years ago

cangoektas commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

@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?