Skip to content

Latest commit

 

History

History
167 lines (93 loc) · 4.45 KB

README.md

File metadata and controls

167 lines (93 loc) · 4.45 KB

Todo

This repository contains a simple to app that I have created in phases. The first two are complete and hopefully I will be able to start on the third soon. Phase 1 was put together fast just to get an idea how to put this project together. It only handles client side Functionality, no server side code or database. Phase 2 is a Node.js Express app, with connectivity to a Mysql database and Bootstrap css. Phase 3 will be building off the last phase but with users and a login.

Table of Contents

Phase1

Phase 1 is a simple client side version of the Todo app with no bells or whistles Strictly to get an idea of the project how it will work. There is no installation or setup required to view this webpage. Simply open the web page up with your default browser as you would for other web projects.

Phase2

Phase 2 has client side JS and node.js Express server for the backend connected to a Mysql database.

Installation

Note For easy cloning it is recommended you have git installed.

Navigate to a terminal and directory you want to clone the repository in and type:

git clone https://github.com/Pmacdonald15/todo

Requirements

Next we will need to install the Node Modules, I will list the commands here:

cd todo
npm install

Database

This project requires a My Sql database connection. After downloading and installing MySql, Configure your database and take note of the credentials. There is a file in the repository, in /phase2/server, named schema.sql that has the configuration for the My Sql database. Simply copy and paste this code in to the My Sql terminal after logging on to the database.

This project Requires a .env file setup in the following manner to connect to the database(using the credentials that you set up the database with):

MYSQL_HOST=' '
MYSQL_USER=' '
MYSQL_PASSWORD=' '
MYSQL_DATABASE='todo_app'

Important

The .env file should be located inside of root directory of the project.

Startup

If you are already in todo/phase2/server

Then run:

node server.js

The server is now running. You can contact the app at localhost:4455/ or using your public Ip address after applying the appropriate port forwarding to your router.(Depending on your system you can hold control on the keyboard and click on the link in the terminal, after starting the server)

Phase3

Phase 3 is an Express Web App, using My Sql and Json Web Token. With the authorization process each user is able to freely access the API while Unauthorized users will be redirected to the login page.

Installation_p3

Note For easy cloning it is recommended you have git installed.

Navigate to a terminal and directory you want to clone the repository in and type:

git clone https://github.com/Pmacdonald15/todo

Requirements_p3

Next open the project by running this command:

cd todo
npm install

Database_p3

This project requires a My Sql database connection. After downloading and installing MySql, Configure your database and take note of the credentials. There is a file in the repository, in /phase3/server, named schema.sql that has the configuration for the My Sql database. Simply copy and paste this code in to the My Sql terminal after logging on to the database.

This project Requires a .env file setup in the following manner to connect to the database(using the credentials that you set up the database with):

MYSQL_HOST=' '
MYSQL_USER=' '
MYSQL_PASSWORD=' '
MYSQL_DATABASE='todo_app_p3'
SECRET_KEY='your_secret_key_here'

Important

The .env file should be located inside of root directory of the project.

Startup_p3

If you are already in todo/phase3/server

Then run:

node server.js

If you are in the root directory of the project run:

npm start

The server is now running. You can contact the app at localhost:4455/ or using your public Ip address after applying the appropriate port forwarding to your router.(Depending on your system you can hold control on the keyboard and click on the link in the terminal, after starting the server)