List Tracking App

This is a simple list tracking app that was made in some of my free time when I did not have school work. This idea of this app was to get familiar with nodejs, express and passport.js as well as practice my backend skills. The Idea for the app came to me when I needed a place for my family to store and look at christmas lists online.

This project as for most of my recent projects I try to follow to the git-flow practices

Stack

This app uses a pretty simple stack

  • Nodejs
  • Express
  • Mongodb
  • Passport for user authentication
  • Mongoose for database interactions
  • EJS for making html templates that are rendered on the server side

Server setup (currently offline)

I used digital ocean for a VM. I used pm2 (node package) and nginx to deploy the app on a server. I used these two resources to help me

Setup for Local Development

Running the App

first clone this repo and install the packages

  • git clone git@github.com:logan-anderson/note-app.git
  • cd note-app
  • npm install
  • install nodemon globally for dev mode sudo npm install nodemon -g

you can run the app by enter the following

  • dev mode: npm run dev
  • prod mode: npm run start

Database Setup

You can use mongodb cloud services by making an account and pasting the uri or add your password and username into the credentials.js file. Alternatively, you can install mongodb on your machine and set the useLocal flag to true

example of a credentials/credentials.js

module.exports = {
    local: false,
    useUri: false,
    uri: '',
    userName: 'username',
    password: 'pass',
    clusterName: '',
    dev: 'dev',
    prod: 'prod',
}

you can get a credential template in the correct directory by running init.sh

Run Linter

  • npx eslint . --fix