egress-foundation: start writing a web app already.
egress-foundation is a minimal Express app template for a user account system, built with Twitter's foundation. I built this with the intention of getting user-based node.js apps scaffolded out quickly.
| Branch | Build Status |
|---|---|
| Master |
|
| Develop |
|
Usage
- The best way to use egress-foundation is by using the Yeoman generator
- This package was not meant to be installed through npm
- But, you can run
npm install egress-foundation, then copy the contents of thenode_modules/egress-foundationfolder to the root of your project directory and follow the steps below - Or, you can clone this project in the root of your project directory by running
git clone git@github.com/shakeelmohamed/egress-foundation.git
- But, you can run
- You don't need to declare this module as a dependency in your project's
package.jsonfile.
Current problems (marked with a TODO)
- There is no significant input validation in place, I suggest using validator.js since it's already being used in the browser - located at public/js/validator.min.js. See the current validation in public/js/egress-validators.js
Getting Started:
- If it does not exist, create a
.envfile in the root directory of this project. -
Your
.envfile should contain your PostgreSQL connection string in the following format, the?ssl=truequery parameter is necessary only if your database connection requires SSL (Heroku's databases do) and will default to false if omitted:DATABASE_URL=postgres://<username>:<password>@<host>:<port>/<dbname>?ssl=trueThis will allow your application to connect to your database
Modify the
configobject inconfig.jsto modify the application settings.- Running
foreman startwill serve the application on the post listed in config.js (defaulting to 5000), and process theDATABASE_URLvariable, locally. Alternatively, runningnode app.jswill do the same thing if you don't want to use foreman.
Deploying to Heroku:
- Authenticate via the Heroku command line,
heroku login - Set your environment variables on Heroku
- If you've already setup your
.envfile as documented above, simply runheroku config:push - Otherwise you can run the following command:
heroku config:set DATABASE_URL=postgres://<username>:<password>@<host>:<port>/<dbname>?ssl=trueThen runheroku config:push
- If you've already setup your
- Push your code up to your Heroku app
- You're done!
Modifying site content
- The
jadedirectory contains files for various markup files used to generate web pages. - The
controllersdirectory contains files for specific functionality for views, along with the files inroutesfor how they're invoked. - Add additional frontend assets to the
publicdirectory, then reference them in the files found injade/includes, particularlyhead.jadeandscripts.jade
Running the tests
- Make sure your environment is setup to run Zombie.js
- With foreman
- run
foreman run npm testfrom the root directory of this repository
- run
- Without foreman
- run
npm test
- run
Validating JS and Jade files
- Run
grunt
Dependencies
- foundation v3.1.1
- PostgreSQL
- For other dependencies see package.json
Issues
- When in doubt, create an issue!
Contact
You can most easily reach me on twitter @_Shakeel
License
This project is licensed under the terms of the MIT license