A note-taking web app made with Angular 4, Express, SQL and Material design libraries. Frontend tested with Karma, Mocha and Chai.
- Add tags and categorise notes into boards
- Standard create, read, update, delete operations for notes, tags and boards
- Apply a filter to only show notes that have a certain tag/board
- Change note colours
- Drag + drop notes
- Material design styling
Note - See the dev branch for unimplemented components such as notes with list items
To run locally requires setting up and running the frontend, database and API servers as given below. It is recommended to have npm and Node version 8 installed beforehand.
- Navigate to the
frontend
directory - Run
npm install
to install packages - Run
npm start
for the frontend dev server. Navigate tohttp://localhost:4200/
. The app will automatically reload if you change any of the source files.
- Ensure MySQL server version 5.7.19 or higher is installed
- Import the
dbDump.sql
file containing the "boards" database into the local server instance - Run the SQL server on port 3300
- Navigate to the
api
directory - Run
npm install
to install packages - Adjust the SQL database password and any other parameters in
config/default.json
- Run
npm start
for the api server which will connect to the SQL database