This is a collaborative wish list manager that allows a group of people to build and share their own holiday wishlists. After adding items to your list, everyone else in your group can collaborate on them amongst themselves without spoling the surprise.
This project ended up being a great opportunity to get hands-on experience with the new version of Angular. There are probably a lot of bad practices in here, so I'd appreciate if anybody could point them out :).
- Client: Angular + Angular Material
- Server: NodeJS + Express
- DB: MySQL
- (if you haven't used Angular before)
npm install -g angular-cli
npm install
- Run
sql/create.sql
in your local MySQL instance, for example withcat sql/create.sql | mysql -uroot -p<password>
- Choose or create a MySQL user for this app (don't use root in production!)
- Create a
mysql.json
file in the root of the checkout with{ "user": "the-mysql-user-name", "password": "that-users-password" }
The build.sh
script in the root folder handles all the necessary build tasks.
To start a local dev server on http://localhost:4200, run ./build.sh serve
.
To compile production-mode artifacts into the dist/
folder, run ./build.sh build
.
To compile production-mode artifacts and create a deployment zip, run ./build.sh zip
.
Any other arguments you pass to the script are forwarded directly to the ng
tool.