Skip to content

johnmichealacera/skill-match

Repository files navigation

Skill-Match

Skill-Match is a web-based platform that connects skilled workers with potential employers — a platform similar to Upwork, but designed specifically for blue-collar professionals like carpenters, welders, masons, electricians, and farmers.

The system allows skilled workers to showcase their experience and allows employers to search, find, and hire them based on specific skills, availability, and location.


🛠 Tech Stack

  • Frontend: Next.js, Tailwind CSS
  • Backend: Node.js, RESTful APIs
  • Database: PostgreSQL
  • Authentication: Cookie-based sessions
  • Media Uploads: Cloudinary

📦 Features

  • ✅ User authentication and role-based access (skilled workers & employers)
  • 🔍 Search by skill category, location, availability, and years of experience
  • 👤 Profile management with detailed bio, image, and experience info
  • 🛠 Employer dashboard for viewing and hiring workers
  • 📬 Notifications for new job requests and activity
  • 🖼 Cloudinary integration for profile image uploads
  • 🧑‍🔧 Admin interface to review and approve worker accounts

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • PostgreSQL
  • Cloudinary account for media uploads

Installation

  1. Clone the repository:
git clone https://github.com/johnmichealacera/skill-match.git
cd skill-match
  1. Install dependencies:
npm install
  1. Configure environment variables: Copy .env.dist to .env and fill in your credentials.
cp .env.dist .env

Make sure to add your PostgreSQL database connection string and Cloudinary keys.

📁 File Structure

  • /pages/ – Main application routes

  • /components/ – Reusable UI components

  • /context/ – React context for global state management

  • /models/ – Sequelize models for PostgreSQL

  • /lib/ – Utility functions

  • /public/ – Static assets

  • /api/ – Backend API endpoints

⚙️ Configuration

Your .env file should include the following:

DATABASE_URL=postgres://user:password@localhost:5432/your_database
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

▶️ Running the Application

npm run dev

Visit http://localhost:3000 to open the app.

👥 Contributing

Pull requests and suggestions are welcome! Please fork the repo and submit a PR.

##📡 Deployment You can deploy this app on Vercel, Render, or any platform that supports Next.js and PostgreSQL. Be sure to set your environment variables in the deployment dashboard.

📷 Screenshots

image image image image

📄 License

MIT License

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •