Nueno - Open Source ATS (Applicant Tracking System)

Overview

Nueno - Open Source ATS (Applicant Tracking System)

Project setup

Database

  1. Duplicate env.example and .env.test.example and rename to .env and .env.test
  2. run docker-compose up -d
You haven't installed docker and docker-compose on your system?

Here's an installation guide

You'll only need these commands when using docker-compose:

# start running containers
docker-compose up -d

# shut-down running containers
docker-compose down

# list running containers
docker-compose ps

Code Climate (for code quality check)

Create a free code climate account and add the CODE_CLIMATE_TEST_REPORTER_ID to your github repo settings.

Screenshot image

Development workflow

Default setup:

  1. npm run dev
  2. open localhost:3000

Test Driven Development:

Recommended workflow when writing code for ./business-logic.

  1. npm run test
  2. in chrome open: chrome://inspect and click on the remote target URL. This will open a console with your test process.
  3. add debugger statement in your code
  4. tests will be re-run once you save a file

Run tests

npm run test

Optionally, you can add a name pattern of the file name:

npm run test User

Check test coverage:

  1. npm run test:coverage
  2. open file ./coverage/lcov-report/index.html
Comments
  • User functionality tests

    User functionality tests

    Description

    This PR introduces user functionality test

    Type of change

    [ ] Bug fix (Non breaking change that fixes an existing issue)

    [x] New Feature (Non breaking change which adds funcitonality)

    [ ] Breaking change (New feature that removes or causes an existing feature not to work as expected)

    [ ] This change requires a documentation update

    How Has This Been Tested?

    [x] Unit tests

    [x] Component Tests

    [x] Integration Tests

    How Should This Be Manually tested:

    1. Clone this repo.

    2. Run yarn install

    3. Run yarn dev

    Checklist:

    [x] My code follows all the styles and conventions outlined for this project

    [x] I have linted my code before submission

    [x] I have made my corresponding changes to the documentation

    [x] My changes generates no new warning

    [x] I have added tests that prove my feature is working or my fix is effective

    [x] New and existing tests pass locally with my changes

    JIRA

    N/A

    opened by dushimeemma 3
  • Implement UI for Sign in and Sign up page

    Implement UI for Sign in and Sign up page

    What this PR does (required):

    • The signup page redesigned
    • login page was also redesigned
    • mobile first (responsive)

    Screenshots / Videos (front-end only):

    The Signup page Screenshot 2022-05-18 at 00 17 13

    The Login page Screenshot 2022-05-18 at 00 17 04

    Mobile views (Signup) Screenshot 2022-05-18 at 00 17 26

    and Mobile views (Login) Screenshot 2022-05-18 at 00 17 38

    Any information needed to test this feature (required):

    Test via local run yarn run dev

    ✅ Preview Commit!

    | Name | Description | | ----------- | ----------- | | Preview | https://nueno-cf0006352-nueno.vercel.app/ |

    source code:

    • Create Auth.module.css
    • Reuse the onChange method from local state, see below
     // User state
      const [user, setUser] = useState<UserProps>({
        email: "",
        password: "",
        isSubmitting: false,
      });
    
      // pulling out from user state
      const { email, password, isSubmitting } = user;
    
      // onChange event: setting the typed char to the input
      const onChange = (e: { target: { name: string; value: string | boolean } }) =>
        setUser({ ...user, [e.target.name]: e.target.value });
    

    and then he onChange is passed to input onChange props


    • Create an Input component TextInput

    import React from "react";
    
    interface InputProps {
      name: string;
      type?: string;
      value: string;
      placeholder: string;
      autoComplete?: string;
      required: boolean;
      clasName?: string;
      onChange: (e: { target: { name: string; value: string | boolean } }) => void;
    }
    
    const TextInput: React.FC<InputProps> = ({
      name,
      type = "text",
      value,
      onChange,
      placeholder,
      autoComplete,
      required,
      clasName,
    }) => {
      return (
        <input
          name={name}
          type={type}
          autoComplete={autoComplete}
          required={required}
          value={value}
          onChange={onChange}
          className={`relative block w-full h-12 px-3 py-2 my-5 text-gray-900 placeholder-gray-500 border border-gray-300 rounded-md appearance-none focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm ${clasName}`}
          placeholder={placeholder}
        />
      );
    };
    
    export default TextInput;
    

    and use it as

        <TextInput
            name="email"
            type="email"
            value={email}
            onChange={onChange}
            placeholder="[email protected]"
            autoComplete="email"
            required={true}
          />
    
    • Sama as Image.tsx component
    opened by mxhdiqaim 1
  • Task/create check auth user  and async handler middleware

    Task/create check auth user and async handler middleware

    Description

    This branch introduces async handler and check authenticated user middleware

    Type of change

    [ ] Bug fix (Non breaking change that fixes an existing issue)

    [x] New Feature (Non breaking change which adds funcitonality)

    [ ] Breaking change (New feature that removes or causes an existing feature not to work as expected)

    [ ] This change requires a documentation update

    How Has This Been Tested?

    [x] Unit tests

    [x] Component Tests

    [x] Integration Tests

    How Should This Be Manually tested

    • Clone this repo.

    • Run yarn install

    • Run yarn dev

    Checklist

    [x] My code follows all the styles and conventions outlined for this project

    [x] I have linted my code before submission

    [x] I have made my corresponding changes to the documentation

    [x] My changes generates no new warning

    [x] I have added tests that prove my feature is working or my fix is effective

    [x] New and existing tests pass locally with my changes

    JIRA

    N/A

    opened by dushimeemma 0
  • UI/signup & sign in pages

    UI/signup & sign in pages

    What this PR does (required):

    • The signup page redesigned
    • Login page redesigned
    • Mobile first (responsive) approach

    Screenshots / Videos (front-end only):

    Login screenshot Screenshot 2022-05-18 at 00 17 04

    Signup screenshot Screenshot 2022-05-18 at 00 17 13

    Mobile View (Responsive)

    Signup Screenshot 2022-05-18 at 00 17 26

    Login Screenshot 2022-05-18 at 00 17 38

    Any information needed to test this feature (required):

    Test via local run yarn run dev

    ✅ Preview Deploy!

    | Name | Description | | ----------- | ----------- | | Preview | https://nueno-git-fork-mxhdiqaim-ui-signup-sign-in-pages-nueno.vercel.app/ |

    Source Enhancement

    • Image Component For reusable images, Image is being created
    import Image from "next/image";
    
    interface ImageProps {
      src: string;
      width?: number;
      height?: number;
    }
    
    const ImageComponent: React.FC<ImageProps> = ({ src, width, height }) => (
      <Image src={src} className="w-auto h-12 mx-auto" width={width} height={height} />
    );
    
    export default ImageComponent;
    
    

    and then use as

     <ImageComponent src={Logo} width={60} height={60} />
    
    • TextInput component. (Same as Image component) TextInput component is a component that holds input for reusability. TextInput.tsx
    import React from "react";
    
    interface InputProps {
      name: string;
      type?: string;
      value: string;
      placeholder: string;
      autoComplete?: string;
      required: boolean;
      clasName?: string;
      onChange: (e: { target: { name: string; value: string | boolean } }) => void;
    }
    
    const TextInput: React.FC<InputProps> = ({
      name,
      type = "text",
      value,
      onChange,
      placeholder,
      autoComplete,
      required,
      clasName,
    }) => {
      return (
        <input
          name={name}
          type={type}
          autoComplete={autoComplete}
          required={required}
          value={value}
          onChange={onChange}
          className={`relative block w-full h-12 px-3 py-2 my-5 text-gray-900 placeholder-gray-500 border border-gray-300 rounded-md appearance-none focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm ${clasName}`}
          placeholder={placeholder}
        />
      );
    };
    
    export default TextInput;
    
    

    and use as this

     <TextInput
          name="email"
          type="email"
          value={email}
          onChange={onChange}
          placeholder="[email protected]"
          autoComplete="email"
          required={true}
        />
    
    opened by mxhdiqaim 1
  • Added Test for User

    Added Test for User

    What does this PR do?

    Test Coverage of The User

    Description of Task to be completed?

    • Test the route

    How should this be manually tested?

    • clone repo
    • switch to test-coverage branch
    • Run npm i to install all dependencies
    • Set up .env as shown in .env.example
    • Then Do npm run test:coverage to see the test coverage report.

    What to expect after running the commands:

    • A user test will have a 100% coverage.
    opened by itisWasp 1
10lift Applicant Test Senior Front End Development

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: ya

Barış ÖZDEMİRCİ 2 Sep 27, 2021
The Frontend of Escobar's Inventory Management System, Employee Management System, Ordering System, and Income & Expense System

Usage Create an App # with npx $ npx create-nextron-app my-app --example with-javascript # with yarn $ yarn create nextron-app my-app --example with-

Viver Bungag 4 Jan 2, 2023
🏆Open source, free project management/issue tracking software to manage your work and projects

WorkClever ?? Open source, free project management/issue tracking software to manage your work and projects Features General Free to use, open source

WorkClever 11 Dec 27, 2022
Reference for How to Write an Open Source JavaScript Library - https://egghead.io/series/how-to-write-an-open-source-javascript-library

Reference for How to Write an Open Source JavaScript Library The purpose of this document is to serve as a reference for: How to Write an Open Source

Sarbbottam Bandyopadhyay 175 Dec 24, 2022
An Open-Source Platform to certify open-source projects.

OC-Frontend This includes the frontend for Open-Certs. ?? After seeing so many open-source projects being monetized ?? without giving any recognition

Open Certs 15 Oct 23, 2022
Shikhar 4 Oct 9, 2022
This is a project for open source enthusiast who want to contribute to open source in this hacktoberfest 2022. 💻 🎯🚀

HACKTOBERFEST-2022-GDSC-IET-LUCKNOW Beginner-Hacktoberfest Need Your first pr for hacktoberfest 2k22 ? come on in About Participate in Hacktoberfest b

null 8 Oct 29, 2022
Open-source Spaced Repetition System.

Flashy Open-source Spaced Repetition System. View Demo · Report Bug · Request Feature About The Project Flashy was created to be an easy to use, open

Sebastian Wojtasik 6 Oct 6, 2022
A free and open-source point-of-sale (POS) system for retail and wholesale businesses with support for multiple branches, stockkeeping locations, POS profiles and price lists.

Note: This is a beta version of the software. You are advised to proceed with caution! Overview A free and open-source point-of-sale (POS) system for

Mwai G 2 Jan 27, 2022
⚡ A blazing fast, lightweight, and open source comment system for your static website, blogs powered by Supabase

SupaComments ⚡ A blazing fast, lightweight, and open source comment system for your static website, blogs ?? Demo You can visit the Below demo blog po

MC Naveen 112 Dec 27, 2022
The open-source design system of Tree.ly

?? Boemly Boemly is the open source component library maintained by Tree.ly based on ChakraUI. ??‍♀️ Getting started Install Boemly: npm i boemly --sa

Tree.ly 32 Oct 7, 2022
Open-source NFID SDK for Internet Identity, a blockchain authentication system for the Internet Computer.

NFID-SDK is an open source software development kit that contains examples and packages for developers to integrate NFID into your application

Internet Identity Labs 15 Dec 23, 2022
The open source Community Operating System, built with developers in mind.

IMPORTANT: This project is still under active development. Be aware that future releases can lead to breaking changes. The open source Community OS, b

crowd.dev 383 Dec 29, 2022
Buildable's core open-source offering for actions that makes it easy to collect, centralize and action your backend system activity

What are Action Templates? Action Templates are open-source functions that save developers hundreds of hours when integrating databases, apps and othe

Buildable 6 Nov 5, 2022
Please do not use this tracker to scam anyone! This is free and will be forever free. This tracking will never ask for seed phrases nor private keys. Keep safe!

CryptoBlades Tracker Related modules express - web application framework for node pug - template engine stylus - pre-processor CSS mongoose - nodejs o

null 355 Oct 13, 2022
Webb-tracker-api - James Webb Space Telescope (JWST) tracking REST API

James Webb Telescope tracking REST API Public REST API to track JWST's current status API data source: https://www.jwst.nasa.gov/content/webbLaunch/wh

Aslan Vatsaev 67 Nov 22, 2022
Your personal budget tracking app.

Btracker Your personal budget tracking app. ?? Links Postman workspace Video Explanation Deployed Frontend Link Frontend Repository ?? Features Create

Fidal Mathew 2 Jan 29, 2022
Nutrition tracking software that uses machine learning to help you reach your body composition goals.

LogSmarter - Machine Learning Nutrition Tracker Description LogSmarter LogSmarter™ is not just another calorie counter. It is an AI nutrition coach th

Ryan Lefebvre 24 Sep 4, 2022
This shows NFT tracking in the certain wallet using express back-end.

nft-tracking-for-solana-wallet Express backend for NFT tracking in the certain wallet. Webhook for scraping secondary marketplace information for part

null 10 Nov 16, 2022