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:
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 |
To setup the project locally, follow the steps below:
- Make sure that Node.js is installed on your machine. Install it here
- Make sure that Python is installed on your machine. Install it here
- 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
- Create a
.env
file in thesbrb-frontend
folder with the following fields
VITE_API_URL=http://localhost:8000
- Create a
.env
file in thesbrb-backend
folder with the following fields
DB_HOST=<enter your db host>
DB_USERNAME=<enter your db username>
DB_PASSWORD=<enter your db password>
- 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.
- Open the terminal and change the working directory to the
SPM2023
repository. - 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
- Open the terminal and change the working directory to the
SPM2023
repository. - 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
- Optional: running unit tests for the application (make sure your working directory is in
sbrb-backend
)
pytest -v
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
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 |
- Alvin Ling Wei Chow ([email protected])
- Ang Keng Boon ([email protected])
- Sebastian Ong Chin Poh ([email protected])
- Sng Yue Wei Rachel ([email protected])
- Tan Boon Yeow ([email protected])