node-address-book

A CLI application that will allow you to store and retrieve contacts from an address book thru Node.js

MIT License

Stars
1

Node Address Book

A CLI application that will allow you to store and retrieve contacts from an address book thru Node.js using Sequelize on a PostgreSQL database.

Prerequisites

  • PostgreSQL
  • Yarn >= 1.5.x
  • Node >=10.x

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

  1. Clone this repo using git clone https://github.com/csantiago132/node-address-book.git

  2. Move to the appropriate directory: cd node-address-book

  3. Run yarn install to install dependencies

  4. If you don't have Postgres installed on your computer, please download and install using the installer for your operating system

  5. Create the databases for the application by running the createdb command:

  • A database to use in the application
  • a database for testing the application
  createdb -U postgress -w addressBook
  createdb -U postgress -w addressBookTest
  1. start your database by running the following command:
    pg_ctl -D /usr/local/var/postgres[VERSION NUMBER HERE] start
  • If your postgres folder does not have a version number, run
    pg_ctl -D /usr/local/var/postgres start
  1. On the terminal, note the port number where Postgres listens for requests
  • Go to db/config/config.json and place that number in the port property:
  "development": {
    "port": "YOUR_PORT_NUMBER_HERE",
  • Value has to be a Number, not a String
  1. Run the migration scripts yarn run migrateDb on the terminal
  • this will run sequelize db:migrate && sequelize db:migrate --env test

Your database is now ready to accept contacts

Features

  • CircleCI integration
  • Jazmine test environment
  • Husky pre-commit hooks (to lint and format the code)
  • Add new contacts to the database
  • View all contacts stored on the database
  • Search for contacts stored on the database
  • Gets you current date and time

TODO List

In the near future, I want to add:

  • Increase and refactor tests suites
  • Add coverage reports thru Coveralls
  • Build a front-end and create an UI for the application

Built With

Versioning

I use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

  • Cory Trimm - for mentoring - github