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.
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.
Phase 2 has client side JS and node.js Express server for the backend connected to a Mysql database.
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
Next we will need to install the Node Modules, I will list the commands here:
cd todo
npm install
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.
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)
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.
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
Next open the project by running this command:
cd todo
npm install
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.
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)