Code Monkey home page Code Monkey logo

tracking-system's Introduction

clone the repo if you have not

git clone [email protected]:robghchen/tracking-system.git

get into the app directory with terminal

cd tracking-system

to go to the main branch

git checkout master

to get the latest code from the main branch in github

git pull

be sure to install packages any time you do git pull

yarn install

create a new branch off of the master branch to encapsulate new code

git checkout -b <branch name>
format is git checkout -b issueNUMBER-title-with-dashes-in-between
ie: git checkout -b 12-make-home-page

run the backend

npx json-server --watch db.json --port 3001

run the frontend

yarn start

work on new code

hit someone up to pair program, it makes learning more fun

when you're done with the feature and are ready to push it online to github, double check your work on the left panel in vscode, click the fork looking icon then click through the files you worked on to visually inspect the code changes you made. if you're satisfied with what you see then in your terminal type:

git add .

save the work with a message

git commit -m <message>
format is git commit -m "action(topic): message"
ie: git commit -m "feat(home): create home page"
ie: git commit -m "fix(dashboard): rating not showing next to company name"
ie: git commit -m "style(navbar): change background color to light blue"

send the code to github

git push
or git push origin head
or git push origin <branch name>

in the terminal where you did git push, you'll see there is a link to github for the branch you just pushed to, click that link

on the github page click "new pull request", fill in the description then click "create pull request". i will be notified to review your code then i will either request changes or approve your pull request. once approved then you can merge your code into the master branch.

be sure to type closes #ISSUE_NUMBER in the description field to link the pull request with the ticket/issue

Deploying database to Mongodb Cloud and deploying api to Heroku

Visit https://github.com/robghchen/tracking-system-api for instructions.

Deploying frontend to Netlify

  1. Visit https://netlify.com and signup
  2. Click "New site from Git"
  3. Click "GitHub"
  4. Type the repo for your frontend and hit enter
  5. Click your repo
  6. Click "Deploy site"
  7. If your deploy ever fails, click "Production: master@something Failed" to go to the logs and read through it for the error then fix what needs to be fixed.
  8. In VSCode, do a global search for http://localhost:3001/api/v1/ and replace every instance of that with your new api url. i.e: https://tracking-system-api.herokuapp.com/api/v1/ (notice localhost is http, and heroku is https)
  9. Use a setInterval to fetch your data like we do here in App.tsx to wake heroku up, more details in this blog post https://medium.com/@robertchen234/save-deploying-your-apps-641532dfce7
  10. Save file then git add, git commit, and git push this change
  11. Click "Overview" tab
  12. Click "Site settings"
  13. Click "Change site name"
  14. Change it to whatever you want, this will be the public url where anyone can visit your site

tracking-system's People

Contributors

amyyli avatar glacea7 avatar kyungjunism avatar nikkkidew avatar robghchen avatar

Watchers

 avatar  avatar

tracking-system's Issues

Remove all code that pertains to ID to delete

I think we created this feature only to demonstrate how to delete a user from the database. We no longer need it. Remove the html for "ID to delete" (at the very bottom of the image) and any helper functions that relate to it. Be sure to read it, study it, make sense of it before you delete it.

Screen Shot 2020-06-28 at 8 59 03 AM

Enable creating new tasks, able to edit and delete tasks too.

Screen Shot 2020-06-28 at 8 22 28 AM

For the dashboard page, build the task section on the bottom left in this image, the tasks should be saved to our mock database with full CRUD operations (create, read, update, destroy)

Specs:

  1. Add task button that allows user to input text
  2. An edit button next to each task
  3. A check box next to each task that crosses the task out and moves it to the top of the list
  4. A delete button next to each task that removes the task from the database

Checkout https://keep.google.com for inspiration

Logged out user should see homepage

Specs:

  1. Logged out user should see the homepage
  2. Logged out user's navbar should only show Login / Sign up
  3. Logged in user should see the dashboard
  4. Logged in user's navbar should show Dashboard, Jobs, Logout

This needs to be worked on in parallel with #16

Style the job listing page better

Screen Shot 2020-06-28 at 8 51 57 AM

Specs:

  1. Move "Add New Job" button to the top right
  2. Move the hamburger and grid icons to be on the right of "Salary", "Best Rated", "Location", "Recent"
  3. Use semantic-ui buttons for "Salary", "Best Rated", "Location", "Recent"
  4. Replace "DELETE" button with a trash can icon from font-awesome. And move it to the bottom right of the jobCard (under the image)

Resource: https://flexboxfroggy.com/

Make home page

Screen Shot 2020-06-28 at 9 03 16 AM

Specs:

  1. Create this home page
  2. The "Get Started" button should link the user to "/signup"
  3. The "Login" button should link the user to "/login"

Log user in and out

Specs:

  1. On app load, the user should be logged out, currentUser should be null
  2. Login user is a form that only has email field, on submit, search our database for the user with that email and make it the currentUser
  3. Clicking Logout turns the currentUser to null

This needs to be worked on in parallel with #15

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.