GithubHelp home page GithubHelp logo

smithcol11 / abilitiesatwork Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.1 MB

Full stack web application for Abilities at Work. Its function is to manage jobs and match clients with those jobs.

License: MIT License

JavaScript 25.37% HTML 0.31% Vue 72.13% CSS 2.07% Dockerfile 0.12%

abilitiesatwork's Introduction

abilitiesatwork's People

Contributors

benttruong avatar cesium1289 avatar jarwhal3 avatar jdustin2 avatar jfeng986 avatar jpadgett314 avatar minhtran02202 avatar olsenjacobsenjesse avatar rduffy13 avatar ruchir-elukurthy avatar smithcol11 avatar

Stargazers

 avatar

Watchers

 avatar

abilitiesatwork's Issues

Application Nav Bar

Two person Task:

  1. Router and logic
  2. Layout and styling(mobile vs desktop)

Base design off of UX template in the shared google drive
styling does not have to follow the UX template exactly, but the logic of the page should be the same
Ease of use and simplicity are important

User Story: Accessing app and logging in

Please read:
User Stories how and why

  • Think about how this could / should be done

  • Using the resource above, create a user story for this experience

  • Feel free to use me(Colin) as a resource, I will be working with Ian and his tech to plan out deployment. So I have a good idea of how access will likely be done.

Add Job View

Need to implement what adding a job will look and function like.

  • inputs
  • required fields, optional fields
  • submitting, resetting, etc

Login Page

2 person task:
1.View/page layout
2.Form component(post request)
-admin vs non-admin
Will need to coordinate with Backend Login Task members
Should be based off UX login templates in shared google drive
Styling does not have to match exactly, but logic should be the same
Ease of use and simplicity are important

Search and Matching parameters

Think about and plan out how the matching and searching/filtering process will work. This can include text explanations/drawings/diagrams/outlines etc.
-How will the different fields be handled? What tags will be used?
-How will fields be entered/selected?
-The individual steps involved in searching/filtering.
-The individual steps involved in matching between clients and potential jobs. - The two fields involved in the matching process are: Job Type/Industry and Full-time/Part-time
-Results of both processes

Match Client to Jobs

Need to query employee for the clients initials.
Then send that to the backend.
The backend will query the DB for a client, then query the Jobs using that clients preferences.
Finally an array of Jobs in JSON is returned to the frontend where the existing table code is used to display results.

Create components for reused assets across the app

There are many cases where a button or alert, etc. Is used, but these styles aren't cohesive and could be made their own components that get rendered across the app.

Let us know if you want to brainstorm ideas on this!:)

Backend Login

Two tasks

You will have to communicate with the front end login team to coordinate the API they should use.

Implement user auth for admin user

The admin user is the only user who needs to be authenticated. It is important to follow good standards and not save or use this password in plaintext. So, we need a way to hash and verify the login.
I recommend checking this out:

Handle post/get requests for logins

There will be post and get requests involved with login, so, you will have to handle when someone signs in, and where they are routed to. You will probably need to create a new routes file for handling this.
This will be a good resource:

Feel free to use other resources!

Add theme colors to Tailwind config

Tailwind Color Config Docs

Going to implement the theme colors.

These can be used by typing class names corresponding to their names.
By taking this approach, we can change colors used in the application very easily and in one spot.

Planned names:

light, accent-light, main, accent-dark, dark

Clean up DB models and tests

The models are a little messy at the moment and could be improved / simplified.
Spend some time making them easier to read and work with.

Github Workflow

Take some time familiarizing yourself with the GitHub page, project board, and git itself.
Here is a useful video to get up to speed with git while being entertained!
Fireship Git Video

Test Schemas & Cleanup Atlas Instance

We are using Vitest, check it out:
Vitest Docs

Testing:

  • All the schemas should have exported their models
  • Test these models by trying to add them to the DB
  • Check required fields, types, etc.

Cleanup:

  • The MongoDB Atlas has some DBs that are unused and full of test inputs
  • Delete these so their is only one DB that handles our models

Jacob: Company
Ben: Job
Junyi: Client

Research and setup authorization levels

The admin will have elevated privileges. Look into how this can be done, we are currently using a JWT and I think that can be used somehow. Admins are the only ones who can edit / add clients. There are likely other admin specific things but lets start there.

Setup SSH key for GitHub, then pull the repo down locally

Check out this link for the GitHub Docs: HERE

In summary, you need to generate an ssh key, do this by typing:
ssh-keygen -t ed25519
Then, copy the contents of the id_ed25519.pub file. You can do this by typing:
cat ~/.ssh/id_ed25519.pub and copying what prints
Finally, go to GitHub, settings, and add the ssh key.

Add Client Page (Admin)

Need to implement what adding a Client will look and function like. This will be an admin only ability, but don't worry about creating that restriction yet.

  • inputs
  • required fields, optional fields
  • submitting, resetting, etc

Give IP to Colin for Mongo white list

Please send me your IP address through Discord or Email to gain access to MongoDB during Development.
You can do this by typing 'what is my ip' into a search engine, or by going to your router's ip address.

Add job: route and database

Now that there is a frontend for adding a job, lets use that post request to the backend to setup a route, and add to the database.

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.