Skip to content

GunjanRajTiwari/FourSpace

Repository files navigation

FourSpace

Backend of:

FourSpace - A website which helps recruiters to hire top talents and the individuals to get hired according to their capability in the technical field.


Direct Connection between Employers and Job-Seekers


Click here and visit the site.


Summary of the website:

  • Companies will create the coding contests in our website according to their.
  • The individuals who are seeking jobs will be able to participate in the contest.
  • The top-performing contestants will be given the priority for the job.
  • The users will have stars and ratings according to their performances.
  • The status of the users will be shown whether they are available for hiring or not.
  • Interactive IDE with syntax highlighting and code compilation.

Features:

  1. Users:

    • Login / Logout
    • Signup
    • Profile
    • See list of contests
    • Participate in contest
    • See results
    • See public questions
    • See other users' profiles
  2. Companies:

    • Login / Logout
    • Signup
    • Create contest
    • See Results
    • Profile
    • Add questions
    • See other users' profiles

API Documentation

  1. POST "/register"

    Body

    {
        name
        email
        password
        type ["user","company"]
    }
    
  2. POST "/login"

    Body

    {
        email,
        password,
        type ["user","company"]
    }
    

    Response

    {
        token
    }
    
  3. POST "/profile/:email?"

    Header

    {
        token
    }
    

    Response

    {
        name,
        email,
        available (Only for users),
        openings (Only for companies),
        rating (only for users)
    }
    
  4. POST "/contests"

    Body

    {
        name,
        info
    }
    
  5. GET "/contests"

    Response

    {
        contestCount,
        contests[]
    }
    
  6. GET "/contests/:cid"

    Response

    {
        ...contest{},
        questionCount,
        questions[]
    }
    
  7. GET "/questoin/:qid"

    Response

    {
        title,
        statement,
        contest_id,
        difficulty,
        points
    }
    
  8. GET "/leaderboard/:cid?"

    Response

    {
        userCount,
        users[]
    }
    
  9. POST "/run"

    Request

    {
        code,
        language,
        input
    }
    

    Response

    {
        status,
        output
    }
    
  10. POST "/submit"

    Request

    {
        question,
        code,
        language
    }
    

    Response

    {
        status,
        message
    }
    

Technologies Used:

  • NodeJS [ ExpressJS ]
  • PostgreSQL
  • JavaScript

Future Aspects:

▹ Job Listing

  • The companies can list different jobs whereas the job-seekers can apply to those jobs, and participate in contests related to the jobs.

▹ Interview Platform

  • The recruiters will be able to take interview of their preferred contestants.

▹Programming Activities:

  • There will be different coding activities which will aid in boosting skills of the users.

▹ Feedback Form:

  • The users will be able to give the feedback of our websites so that we can improve our weaknesses.

Contributors:

👦 Gunjan Raj Tiwari: https://github.com/gunjanrajtiwari

👦 Sandesh Dhungana: https://github.com/sandesh32

👦 Umesh Saud: https://github.com/umsisamess