TeamSkillSense / Skillsense

1 stars 1 forks source link

REPO SIZE TOP_LANGUAGE FORKS

SkillSense

Project Duration: 2 Week Sprint

SkillSense is a professional networking application that brings together Students, Mentors, and Clients to complete freelance assignments. Students looking to break into the tech industry can find and connect with experienced professionals in the field willing to offer their guidance and expertise. In partnership with a chosen Mentor, Students can apply for and complete jobs that have been posted on SkillSense by Clients. By creating a space that allows for professional growth while ensuring quality and productivity, SkillSense helps Students to get experience; allows Mentors to help members of their community in getting started; and enables Clients to offer first-time opportunities while ensuring that the job is done well with the help of an experienced professional.

Live Version deployed on Heroku at: https://skillsense.herokuapp.com/

Screenshot

SkillSense: Login SkillSense: Mentorships SkillSense: Job Search

Prerequisites

Before getting started launching this application, you should have the following software installed on your computer:

Database Setup

Make a new database called skill_sense in PostgreSQL and use the database.sql file in the root of this project to set up all of your tables. This file will also include some important static data required by several tables, these will include information such as user types, skills tags for jobs/users, job status (in progress, completed, etc.), and mentor approval status.

Creating the .ENV

First you will need to establish a SERVER_SESSION_SECRET to keep your application secure. Here's a site that can help you generate a secret: https://passwordsgenerator.net/. NOTE This secret should be more than 8 characters. Having a secret key that is less than 8 characters or leaving it as "superDuperSecret" will result in a warning from the app.

AWS

To enable use of AWS file uploading for resume attachments on job applications, you will need to setup an Amazon Simple Storage (Amazon S3) account and create a "bucket" for storage on the internet. Follow these instructions for getting started with Amazon Web Services. Registering for the S3 account will grant you the AWS Free Usage Tier pricing per Amazon, though limitations on data usage will apply. For information, see this page on Storage Pricing. A means of payment will still be required regardless of whether or not you are using a paid plan. Once you have added payment information, you can follow the beginning of this tutorial for how to set up an S3 Bucket on your account. Disregard anything after “Back End” - this has been provided for you already.

When setting up your account, make sure to record the AWSAccessKeyId and the AWSSecretKey. This information should be held securely as it is what will allow the application to access your AWS S3 storage bucket.

You will also need to update your permissions on the new S3 Bucket. From the same place you accessed your CORS settings in the tutorial above, you will need to select BLOCK PUBLIC ACCESS and turn off any settings that are blocking public access. No other boxes on this page should be checked.

Nodemailer

In order to use Nodemailer to send email notifications as an admin to individual users, you will need to establish what address these messages should be sent from. The sending email address should be designated in the .env as the NODE_MAILER_USER. Given the standard security most email providers have in place to prevent unapproved third party sign-in and use, however, a basic user password will not be effective. The process of getting around this security measure may vary from service to service, but the path we recommend would be obtaining an App Password through Gmail. Instructions to create an App Password for your NODEMAILER_USER_KEY can be found at this Google Account Help Article.

Installation

  1. Run npm install
  2. Start Postgres using brew services start postgresql
    • only required if PG is not already running
  3. Run npm run server
  4. Run npm run client
  5. Navigate to localhost:3000

How to Use SkillSense

Built With

This application uses the following technologies:

(a full list of dependencies can be found in package.json)

Acknowledgements

Support

For any questions, concerns, or suggestions feels free to contact any of the developers behind this project: