Skip to content

kengboonang/SPM2023

Repository files navigation

IS212 - SPM G9T1 - Skill Based Role Portal

Introduction

This application is part of the project for SMU's IS212 Module which involves the creation of an Internal Skill Based Role Portal for All-In-One.

The Frontend is created with ReactJS + Vite with ChakraUI as the main styling framework and the Backend is created using FastAPI. Database is PostgreSQL hosted on AWS RDS.

You can access the frontend via the following link, hosted on AWS Amplify: Frontend

The FastAPI server is hosted on AWS EC2 and is accessible via the following link: FastAPI Server

For comprehensive documentation of API endpoints, please refer to the following link: API Documentation

For Github Workflows, please refer to the following links:

Login Credentials

The following account credentials and their respective roles are listed below and can be used for testing purposes.

Username Password Role
[email protected] password HR
[email protected] password Standard User / Staff

Setup Instructions

Pre-requisites

To setup the project locally, follow the steps below:

  1. Make sure that Node.js is installed on your machine. Install it here
  2. Make sure that Python is installed on your machine. Install it here
  3. On your terminal, change the working directory to the location where you would like to clone this repository. If you have the git cli, run the following command: git clone https://github.com/kengboonang/SPM2023.git

Setting up Environment Variables

  1. Create a .env file in the sbrb-frontend folder with the following fields
VITE_API_URL=http://localhost:8000
  1. Create a .env file in the sbrb-backend folder with the following fields
DB_HOST=<enter your db host>
DB_USERNAME=<enter your db username>
DB_PASSWORD=<enter your db password>
  1. Please ensure the following Github Actions secrets are configured for CI/CD workflow
AWS_ACCESS_KEY_ID=<enter your aws access key>
AWS_SECRET_ACCESS_KEY=<enter your aws secret key>
DB_USERNAME=<enter your db username>
DB_PASSWORD=<enter your db password>

Please contact [email protected] for the AWS RDS key.

Frontend

  1. Open the terminal and change the working directory to the SPM2023 repository.
  2. Run the following commands:
# Change working directory to the frontend folder
cd sbrb-frontend

# Install dependencies
npm ci

# Run the development server
npm run dev

Backend

  1. Open the terminal and change the working directory to the SPM2023 repository.
  2. Run the following commands:
# Change working directory to the backend folder
cd sbrb-backend

# Optional: create a python virtual environment to avoid installing packages globally.
python -m venv venv

# On windows
venv\scripts\activate
or
# On mac
source venv/bin/activate

# Install python dependencies
pip install -r requirements.txt

# Run the server
py main.py
  1. Optional: running unit tests for the application (make sure your working directory is in sbrb-backend)
pytest -v

Accessing the local development server

By default, the React + Vite frontend server will be running on http://localhost:5173, while the FastAPI backend server will be running on http://localhost:8000

Application Features

The application covers the five core features that are listed in the project instructions.

Role Function Description
Human Resources CRU of Role Listings Maintenance of Role listings
There is no delete for job listings but there would be a deadline for each listing
Human Resources View skills of role applicants View the skills of each staff
Staff Browse and Filter Role Listing List out the open roles and display the details
Staff View Role-Skill Match Display the match and gaps of the roles with current skill set
Staff Apply for role Apply for the open role

Members

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5