Skip to content

Spacebox is the ultimate platform for developers and recruiters. This allows developers to share their projects as a portfolio and recruiters to hire based on skill sets. A combination of hiring platforms and social networks.

License

badman-returns/Spacebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SPACEBOX

Open Source Love Awesome Made With Love

⭐ Glad to see you here! Show some love by starring this repo.

License

Spacebox is the ultimate social hiring platform for developers and recruiters that eliminates the classic resume-based shortlisting process. This allows developers to share their projects from GitHub and showcase it in their spacebox profile as their portfolio making it easy for recruiters to select the candidate based on potential skills and ability. Spacebox also provides feeds that let you share the latest stuff among developers and recruiters.

Production Link API Documentation

Features

  • Users can sign up as a developer (Github username is compulsory) or as a recruiter.
  • Users can sign in using email and password once verified.
  • Both developers and recruiters can post stuff on the feed.
  • Developers and Recruiters can view and edit their own profile.
  • Developers and Recruiters can visit each other's profiles.
  • Developer profile contains projects fetched from Github and content the developer posted.
  • Recruiter profile contains jobs and content posted by the respective recruiter.
  • Recruiter can add, edit and delete jobs.
  • Developers can only view jobs.


Demo

Feed Page

  • Contains content posted by developers and recruiters.
  • Logged in users can visit profile of a user by clicking on the name or avatar of the post.

Developer Profile

  • Contains unforked projects from github.
  • Also contains posts posted by developer in the activity section.
  • Users can edit and update name, bio, email, github, profile picture and techstack by clicking on the edit button.

Recruiter Profile

  • Contains jobs posted by recruiters.
  • Jobs can be edited or deleted by clicking on edit and delete button.
  • Also contains posts posted by recruiter in the activity section.

Developer Job View

  • Shows jobs posted by recruiters.
  • Clicking on each job, description is shown in the right panel.
  • Recruiter profile can be visted by clicking on the name or avatar of the recruiter.

Recruiter Job View

  • Contains form for posting new job.
  • Job listing in the middle.
  • Job description will appear on clicking specific job.

Technology Stack

Frontend

Deployement

  • React JS
  • Redux
  • Redux Persist
  • Material UI
  • React Toastify
  • React Quill
  • Moment JS
  • HTML React Parser
  • Dompurify
  • Axios

Backend

Deployement

  • Node.js
  • Express
  • Express Validator
  • Cloudinary
  • Google APIs
  • Mongoose
  • Bcrypt
  • JSON Web Token
  • Multer
  • Morgan
  • Nodemailer
  • Body Parser

Languages

  • TypeScript
  • Javascript

Database

MongoDB

Setup

Environemental Variables for Frontend

REACT_APP_BASE_BACKEND_URL = http://localhost:8080 for development
REACT_APP_BASE_BACKEND_API_URL = http://localhost:8080/api/v1 for development
REACT_APP_GITHUB_API_URL = https://api.github.com
Environmental Variables for Backend
BASE_URL = Set your frontend URL e.g - localhost:3000/# for development
GITHUB_API = https://api.github.com
SECRET = eg. eyJhbGciOiJIUzI1NiIsInR ... for generating JWT Tokens
MONGODB_URI = URI for connecting to MongoDB Database.
MONGODB_POOLSIZE = 10 or you can set to your custom
MAIL_SERVER_HOST = eg. smtp.gmail.com - Set it to yours.
MAIL_USER = eg. youremail@gmail.com
PORT = 8080 or Set Default Port
CLIENT_ID = Client ID generated by Google Cloud Console for Oauth2.0
CLIENT_SECRET = Client Secret generated
REFRESH_TOKEN = Refresh token generated
REDIRECT_URL = eg https://developers.google.com/oauthplayground
CLOUDINARY_CLOUD_NAME = Cloudinary cloud name
CLOUDINARY_API_KEY = Cloudinary API Key
CLOUDINARY_API_SECRET = Cloudinary API Secret

For seting up Oauth2.0 on GCC. Refer here - Sending Email with Gmail and Oauth2.0

Backend

cd backend
npm install
npm run local -- for development or npm start -- for production

Frontend

cd frontend
yarn install
yarn start

Upcoming Features

  1. Real time feed updates.
  2. Connection or Friend Request Feature.
  3. Comments and Share.
  4. Chat with other users.
  5. Advance Profile Editing and Customization.
  6. Apply Jobs

Upcoming Improvements

  1. Add eslint and prettier configuration to react code.
  2. Implementing Airbnb javascript best practices.
  3. Unit testing.

And a lot more to come yet.

Facebook Instagram LinkedIn Twitter

Made with 🖤 by Trishnangshu Goswami

About

Spacebox is the ultimate platform for developers and recruiters. This allows developers to share their projects as a portfolio and recruiters to hire based on skill sets. A combination of hiring platforms and social networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published