⭐ Glad to see you here! Show some love by starring this repo.
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Contains form for posting new job.
- Job listing in the middle.
- Job description will appear on clicking specific job.
- React JS
- Redux
- Redux Persist
- Material UI
- React Toastify
- React Quill
- Moment JS
- HTML React Parser
- Dompurify
- Axios
- Node.js
- Express
- Express Validator
- Cloudinary
- Google APIs
- Mongoose
- Bcrypt
- JSON Web Token
- Multer
- Morgan
- Nodemailer
- Body Parser
- TypeScript
- Javascript
MongoDB
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
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
- Real time feed updates.
- Connection or Friend Request Feature.
- Comments and Share.
- Chat with other users.
- Advance Profile Editing and Customization.
- Apply Jobs
- Add eslint and prettier configuration to react code.
- Implementing Airbnb javascript best practices.
- Unit testing.
And a lot more to come yet.
Made with 🖤 by Trishnangshu Goswami