- Product Owner
- Scrum Master
- Development Team
Simplified overview of project's tech stack:
- Task Runner
- Grunt
- Client Side
- Angular
- MaterializeCss
- Server Side
- Node
- Express
- Postgres
- Sequelize
.bowerrc
is used to specify path for bower components; these client-side dependencies are located inclient/lib
Simplified overview of project's file structure is laid out below:
client
--- app
// angular (views, services, etc)
--- assets
// client-side assets (ex: img)
--- lib
// bower components
--- styles
// stylesheets
--- index.html
server
--- config
// auth / authKeys.js
// db schema
// middleware setup
// passport setup for facebook auth
--- controllers (message handling)
// Auth
// external api
// Meals
// Users
--- lib (utility functions)
// external api
// Meals
// Restaurant
// Users
--- routes
// Api routes
// Auth routes
--- server-config.js
--- server.js
Using the Angular team approved style guide by John Papa. App was designed with modularity and code reuse in mind.
General JavaScript code styling was following the industry-approved Airbnb method.
Important: Please follow the directions in order to setup the necessary local user and PostgreSQL database - proper local functionality and testing relies on this.
To setup your database locally:
- Install Postgres.app
- full-featured PostgreSQL installation w/
psql
CLI - http://postgresapp.com/
- Install Postico [optional]
- PostgreSQL Client for OSX aka GUI
- https://eggerapps.at/postico/
- Use psql, the Postgres CLI, to create needed database and authorized user
- From your terminal, enter
psql
and hit enter - Now that
psql
is running, go ahead and create the user *CREATE USER admin WITH SUPERUSER;
*ALTER USER admin WITH PASSWORD 'admin';
*SET ROLE admin;
*CREATE DATABASE tablesurfer;
- Double check that your Postgres.app is running from your OSX toolbar, it should indicate that the port you are using is 5432
- You're successfully setup for Postgres to use tablesurfer!