Project Tracker is a business application that manages project status and tracks employee hours.
- Getting Started
- Prerequisites
- Downloading The Project
- Setting Up The Database
- Setting Up The Front End
- Setting Up The Back End
- Running The Project
- Built With
- Authors
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
In order to run this project, you need to have Node.js and PostgreSQL installed. To tell if you have them installed, open your Command Line/Terminal and type the following:
$ node -v
v10.x.x
$ psql --version
psql (PostgreSQL) 10.x
To begin setting up the project, either download the project by clicking here or by cloning the project:
$ git clone https://github.com/m1771vw/tech-project.git
$ cd tech-project
In order to setup the database, a sample script has been created.
Start from the root of the project folder. To check if you are in the root, use pwd
and ls
to check the folder structure. You should see something like this:
$ pwd
/Users/.../tech-project
$ ls
assets tech-back-end tech-db-scripts tech-front-end
After confirming you're in the root, go to the tech-db-scripts
folder and run the script.
$ cd tech-db-scripts
$ psql < techno.SQL
Return to the root of the project folder and go to the tech-front-end
directory and run npm install
:
$ cd ..
$ cd tech-front-end
$ npm install
After the dependencies have been installed, you can move onto the backend.
Return to the root of the project folder and go to the tech-back-end
directory and run npm install
:
$ cd ..
$ cd tech-back-end
$ npm install
After the dependencies have been installed, you have to create a .env
file.
In the root of the tech-back-end
, create a new file named .env
and paste the following:
DB_URL=postgres://localhost:5432/technoprojectdb
PORT=5000
SECRET_KEY=SECRETKEY123
Here I have the DB_URL
set to the default PostgreSQL port (5432), please change that to the port your PostgreSQL is set up to.
PORT
can be changed to whatever port is available for you.
SECRET_KEY
is used for signing the JWT Token.
You can now start up the project.
To run the project, you will need to have two console windows open, one in the tech-front-end
directory, and one in the tech-back-end
directory.
Run npm start
with the tech-back-end
first and then run npm start
with tech-front-end
once the back-end finishes starting up.
To confirm the backend has started, you should see something similar to the following with no errors:
[nodemon] 1.18.5
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
Server running on port: 5000
To confirm the frontend has started, you should be greeted with this screen.
To login, use admin/password as the login credentials. If login is successful, you will be greeted with the dashboard.
You can go to the Employees tab and add and employee to the database.
Once you have added your employee, you can go to the Projects tab to add a project.
Once you have added the project, you can click on the project name to view the Project Details.
Here, you can add your newly created employee to the project.
You can also add an assignment to your employee on this page as well.
Once you have added these, you can click onto your employee's name to view the employee details.
If you need to update or delete the assignment, you can either click on the assignment name, or return to the project details page to see the update and delete button.
If there is an assignment that went over the employee's estimated time, it will show up on the dashboard. Additionally, any assignments that are blocked will show up on the dashboard as well.
- React.js
- Redux
- Semantic UI React
- Node.js
- Express.js
- bcryptjs
- jsonwebtoken
- passport-http
- PostgreSQL
- pg-promise
- William Yang - Initial work - m1771vw
- James Park - Initial work - jaamz
- John Chu - Initial work - twmphoto
You can look here for a list of contributors for the project.