Giter VIP home page Giter VIP logo

fixup-job-site-full-stack's People

Contributors

alma-dev914 avatar katehamilton1 avatar tarekyou avatar tbellenger avatar

Stargazers

 avatar

Watchers

 avatar  avatar

fixup-job-site-full-stack's Issues

Add ability to direct message

add the ability to DM between 2 users by adding a mailbox in the user profile:
when it is clicked use something like render DM page if req.params.id && req.user.id === req.params.id &&& req.user.id

Organize data returned on home-routes.js

  1. Where there are requests to get jobs in home-routes.js make sure that no email addresses are included in the DB query responses. Just need to add "email" to the exclude array for owner.
  2. Return jobs in order of most recently created so that they get rendered to the page in that order (this one is also by fixing the DB queries
  3. Only return jobs that are in the status 'open'. Once a job is filled or completed it shouldn't show up in the search results from the home page (also this one is a DB query)

Edit Job Page (edit-job.handlebars)

  1. Edit job page the category should be set to the category stored in the database. At the moment it just defaults to the category at the top of the list. If you don't set it while you are editing it will update the DB with wrong information.
  2. Edit job page - if there is an image associated with the current job then it should at least show up with the option to delete the image. Even better would be the ability to upload a different image.
  3. If possible add a $ symbol the start of the payment box so that people know they are entering dollar amount there.

Dashboard view on desktop

On desktop, dashboard view should show the create new job on one side and the job table next to it. Only in mobile view should it start to stack the different tables and forms

Backend models

Create backend models and the relationship between the tables

Create Database documentation

Create a database documentation showing the different tables and their relationships
User

  • Id
  • Name
  • Email
  • Password
  • Rating
  • Jobs Completed
  • Jobs Offered
  • Last Login

Posting

  • Id
  • Title
  • Description
  • Payment offered
  • Payment type offered
  • Owner (User)
  • Applicants (Users)
  • Status (open, filled, complete)

Category

  • Id
  • Category Name - (Yard, Handyman, Plumbing, Paint, Indoor, Outdoor)

Zip Code????,

Tag

  • Id
  • Tag Name

etc

Email applicant when they are selected for a job

  • Create a project email address on google. Something like [email protected]
  • Add nodemailer package to project and set up with the email address and password used in previous
  • Update controllers/api/job-routes.js router.put("/:id") route to check the update that is being done and where the update contains employee_id and is changing job_status to "filled" then should use nodemailer to email the employee email address matching employee_id with a message that they have a new job and they should check the site for details.

Change category in new job post form to be drop down

Data returned cotains category list already. Just need to add this to a drop down instead of text entry on the form and make sure the /javascript/dashboard.js picks it up when doing the fetch to create a new job posting

Wireframes for pages

  • Create wireframe of front page
  • Create wireframe of sign up (email, username????(maybe not needed), phone, zip code)
  • Create wireframe of login (email, password)
  • Create wireframe of job category (eg yardwork, plumbing, handyman, etc)
  • Create wireframe of job posting (link to user that posted, job category, description, payment offer, payment types offered)
  • Create wireframe of user (name, zip, star rating, links to their comments, links to their completed jobs)

Dates on DMs

Dates are well formatted but not in the local timezone. Formatter should also set the timezone

add ability to like a job

when the user clicks the thumbs up button, increase the likes by one and display the total number of likes next to or inside the thumbs up icon

Create the Views

Each page template should have its own file that will render the content.
Create handlebars to splice the page template.

Controllers

Writing API + homepage and dashboard routes

Set token expiry

Set token expiry to be longer - I think 3 days would be better - in user-routes.js in the api. At the moment it is set to 2h so I think change to 72h

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.