GDS ACE Tech Assessment TAP 2023. My attempt did not pass to the next stage, my own understanding is because I used R instead of Python.
Project Title:
We are the Champions Web Application
Description:
Build an application to help the event organisers keep track of results for the first round of the championship and determine the current team rankings within each group. More details in the Assessment document.
-
For bonus requirements, entered data is by default hosted on a
SQLite
database. AMySQL
database hosted by AWS RDS has also been set up as another option. Note, as good practice, my password has been removed fromsetAWSPassword.R
. -
The evaluation of the rankings given the text inputs are handled by
helper.py
. Run thehelper.py
file to test. Only requirement is thepandas
package, therefore there is norequirements.txt
file for venv setup. -
For the backend and front-end services, my initial plan was to use
FastAPI
andvue.js
. However, I am not an expert in those fields, hence I choseRShiny
inR
, which handles both front-end and server side. Nevertheless, my previous progress is still uploaded underinitial
folder. Forpython
andR
integration, we will be using thereticulate
package. -
For bonus requirements, the text inputs have a check validity button before allowing for scoring which will display either a successful or wrong input. Note that our queries to the database is posting pushing and pulling an entire dataframe, none of the text inputs are directly used in any queries. Hence,
SQL injection
handling is not done. -
For bonus requirements, the web application and the SQLite database is hosted onto
shinyapps.io
free server.
Requirements:
- Python
- R
- RStudio (preferred IDE for R programming)
How to run:
Open up RStudio and load the app.R
file. As a new R user, simple uncomment the first few lines, which is a custom package handler to download all the necessary packages.
Then all you need to do is ensure under .Rprofile
, the python path is set to the python path of your local machine.
Finally, just click run App
option on the top right, to run the web application locally.
If not, simple check the publicly hosted web application: https://samuelsim.shinyapps.io/TAPapplication/