HaCSBCU / MesaHub

A hackathon dashboard to keep attendees informed and involved.
4 stars 0 forks source link

Project Structure #55

Open PandelisZ opened 7 years ago

PandelisZ commented 7 years ago

Currently it looks a little like this

|auth |bin |db |scripts |test

I'd like to make it something like

|scripts/ (or lib) | .. |auth/ | .. | db/ | .. | etc/ |tests/ |bin/ For general readability and ease of imports later on via an optional scripts.js in the root of scripts/

Discuss..

PandelisZ commented 7 years ago

Oh this is helpful,

http://stackoverflow.com/questions/5178334/folder-structure-for-a-node-js-project

alexwileyy commented 7 years ago

@PandelisZ don't see the need for things to be in a scripts folder, however I do like the way the StackOver flow suggests:

| models
  | user.js
  | events.js
  | announcements.js
  | ...
| views
  | dashboard
  | admin
  | ...
| public
  | js
  | css
  | img
  | ..
| controllers
  | index.js
  | admin.js
  | send-text.js
  | ...
//Additional folder structure I think could be useful
| tests
  | tests...
| middlewares
  | s3.js
  | twillio.js
  | texting.js
  | authentication (example - passport reality)
  | ...

I like the scripts being placed in the middleweare folder as that's what they technically are, we get a request, put it through that, then return a result.

The above is a common project structure that i've been used in several production products. Up for discussion but I think the above cleans things up a lot and sections purpose to folders 😄

PandelisZ commented 7 years ago

Yeah, a middleware folder sounds good. Are middleware and lib an interchangeable title?

I'm asking because I'm not 100% familiar with project structures

alexwileyy commented 7 years ago

Yeah I'm fairly sure they are, a lot of structures technically are the same just use different names :)

I've seen the above structure used quite a bit though, we can implement it once these hackathons are over