Skip to content

ACW101/mrlist

Repository files navigation

My Restaurant List

My Restaurant List is a web app that help manages Yelp bookmarks by TAG and send dinner invitation/create poll based on users' curated restaurant list.

Tech Stack

MERN without MongoDB because I want a relational database for complex relationships between bookmarks and user data. Here is a good debate on why most default MongoDB as their node.js database choice.

Getting Started

// install server-side dependency and start nodemon server.js
npm install
npm run dev

// install client-side dependency and run webpack
cd src && npm install
npm run dev

Prerequisites

node.js and npm needs to be installed(v8.1.2)

PostgreSQL must be installed on local machine by following the installation guide and documentation

Database Configuration

Since this project utilize Knex.js to manage query and migration, the project should be able to run on all three supported database engines by configuring the knexfile.js. I have tested on MYSQL and PostgreSQL.

./utility/knexfile.js
// this is a configuration for PostgreSQL. 
module.exports = {
    development: {
        client: "pg",
        connection: 'postgres://localhost:5432/mrlist-dev',
        migrations: {
            directory: __dirname + '/migrations'
        }
    },
    production: {
        client: "pg",
        connection: process.env.DATABASE_URL,
        migrations: {
            directory: __dirname + '/migrations'
        }
    }
}

To use the migration functionality to set up database schema, make sure knex is installed globally

npm i -g knex

to migrate, run under ./utility:

knex migrate:latest

Live on Heroku

The project is still under development and can be viewed live at Heroku

Built With

Contributing

Please contact me at kevinwangdev@gmail.com.

Versioning

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

Authors

  • Kevin Wang - Initial work

License

This project is licensed under the MIT License

Releases

No releases published

Packages

No packages published

Languages