{"id":18723516,"url":"https://github.com/fdalvi/webapp-skeleton","last_synced_at":"2026-04-30T20:32:51.356Z","repository":{"id":70646894,"uuid":"80841313","full_name":"fdalvi/webapp-skeleton","owner":"fdalvi","description":"A barebones sample app using nodejs, mongodb, webpack, react and more...","archived":false,"fork":false,"pushed_at":"2017-12-28T19:49:41.000Z","size":9,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T13:43:42.358Z","etag":null,"topics":["boilerplate-application","nodejs","react","webapp-skeleton","webpack"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fdalvi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-03T15:24:30.000Z","updated_at":"2021-06-16T22:56:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ecd16c5-ec04-44b3-9464-177fd6578aff","html_url":"https://github.com/fdalvi/webapp-skeleton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fdalvi/webapp-skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdalvi%2Fwebapp-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdalvi%2Fwebapp-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdalvi%2Fwebapp-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdalvi%2Fwebapp-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fdalvi","download_url":"https://codeload.github.com/fdalvi/webapp-skeleton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fdalvi%2Fwebapp-skeleton/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32476682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate-application","nodejs","react","webapp-skeleton","webpack"],"created_at":"2024-11-07T13:49:02.707Z","updated_at":"2026-04-30T20:32:51.340Z","avatar_url":"https://github.com/fdalvi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Barebones webapp skeleton\n\nI've not been able to find a simple webapp skeleton that uses a lot of the necessary modules (like react, webpack, express, etc). This repo aims to provide exactly this. Launch an issue if you find something wrong! \n\n# How to run\n- Make sure you have NodeJS (`node` should bring up the js interpreter) and MongoDB (`mongo` should bring up a command line interface to your database) installed. \n- Git clone repository\n- Incase you do not have `mongo` running, you can create a `data` folder (eg. in your webapp root directory) and run `mongod --data \u003cpath-to-app-root\u003e/data`\n- Use `npm install` to install all dependencies\n- Use `npm run dev` to launch webpack and compile js\n- Use `node app.js` to run the app. Currently runs on localhost:8005\n\n# Stack\n## Backend: \n- **[NodeJS](https://nodejs.org/en/)**: Backend server \n- **[ExpressJS](http://expressjs.com)**: MVC framwork for NodeJS\n  - **[express-session](https://github.com/expressjs/session)**: Session management in expressJS\n  - **[connect-mongo](https://github.com/jdesboeufs/connect-mongo)**: Persistent session store for expressJS\n  - **[body-parser](https://github.com/expressjs/body-parser)**: Request body parsing middleware\n- **[MongoDB](https://www.mongodb.com)**: Database\n- **[MongooseJS](http://mongoosejs.com)**: Layer on top of MongoDB to abstart away some of the pain\n- **[Node-Config](https://github.com/lorenwest/node-config)**: Configuration file handler for nodejs\n\n#### Not installed but recommented\n- **[PassportJS](http://passportjs.org)**: For any kind of user management\n\n## Frontend:\n- **[React](https://facebook.github.io/react/)**: UI Library\n- **[Webpack](https://webpack.github.io)**: Library to build and bundle all assets for the frontend\n\n#### Not installed but recommented\n- **React UI Library**: Some UI library like [Grommet](https://grommet.github.io), [BlueprintJS](http://blueprintjs.com), [Ant](https://ant.design), [React-MDL](https://react-mdl.github.io/react-mdl/) etc.\n\n## Common:\n- **[npm](https://npmjs.com)**: Package manager for both frontend and backend libraries\n\n#### Not installed but recommented\n- **[async](http://caolan.github.io/async/docs.html#queue)**: Awesome library if you want to run more than one asynchronous job but have global control (like do something when all of them are done, run only _x_ tasks at any given time etc)\n\n# App structure explained\n```\n├── LICENSE\n├── README.md\n├── app.js : this is your main nodejs entry file\n├── config : store configuration files here (for example different configs for dev, production etc)\n│   └── default.json\n├── models : store mongoose schema’s here\n│   └── people.js\n├── package.json : npm config\n├── public : : store static content here (for example your css, js files etc)\n│   ├── README.md\n│   ├── css\n│   │   └── sample.css\n│   └── dist : compiled files here - probably never commit this to git, since you can always recompile from views/assets\n├── routes : store nodejs controllers here\n│   ├── index.js\n│   └── people.js\n├── views : store nodejs views (the html/ejs etc.) here\n│   ├── assets : I like to store the pre-compiled javascript here along with the views, because I like to put all frontend stuff together \n│   │   ├── common.jsx\n│   │   ├── index.jsx\n│   │   └── people.jsx\n│   ├── index.ejs\n│   └── people.ejs\n└── webpack.config.js : Webpack config\n```\n\n# Some Notes\n- Understand MVC (Model-View-Controller) before using this, as the app is designed around it\n- I found it impossible to use a lot of cool libraries online without using a compiler like webpack. Webapps are no more simple html/css/js files anymore!\n- My webpack config does a few things that I prefer: Most importantly, it reads your npm config, see's which libraries you are using for the front end, and compiles them into a single `vendor.js` file. This means all of MY code remains separate from outside code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdalvi%2Fwebapp-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffdalvi%2Fwebapp-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffdalvi%2Fwebapp-skeleton/lists"}