This repository contains various backend and frontend projects, including Python solutions for algorithmic problems, a Django REST API, and two React web applications. The projects are structured to demonstrate proficiency in backend development, frontend development, and full-stack integration.
backend/
1_find_tailing_zero/
2_index_of_max/
3_number_to_thai/
4_number_to_roman/
5_rest_api/
db.sqlite3
README.md
run_tests.sh
venv/
frontend/
react-form/
node_modules/
package.json
package-lock.json
public/
README.md
src/
tsconfig.json
react-layout/
node_modules/
package.json
package-lock.json
public/
README.md
src/
tsconfig.json
LICENSE
README.md
This project contains a solution to find the number of trailing zeros in a factorial of a given number.
- Navigate to the project directory:
cd backend/1_find_tailing_zero
- Run the tests:
python -m unittest find_tailing_zero_test.py
This project finds the index of the maximum number in a list.
- Navigate to the project directory:
cd backend/2_index_of_max
- Run the tests:
python -m unittest index_of_max_test.py
This project converts a number to its Thai text representation.
- Navigate to the project directory:
cd backend/3_number_to_thai
- Run the tests:
python -m unittest number_to_thai_test.py
This project converts a number to its Roman numeral representation.
- Navigate to the project directory:
cd backend/4_number_to_roman
- Run the tests:
python -m unittest number_to_roman_test.py
This is a Django REST API for managing school data, including schools, classrooms, teachers, and students.
- Navigate to the project directory:
cd backend/5_rest_api
- Install the dependencies:
pip install -r requirements.txt
- Run the server:
python manage.py runserver
- Run the tests:
python manage.py test apis.tests
This project is a React web application for handling forms.
- React
- Typescript
- i18next for language switching
- Ant Design for button layout
- CSS for button shapes (with preference for SCSS)
- Redux Toolkit for state management
- Local Storage for data persistence
- Navigate to the project directory:
cd frontend/react-form
- Install the dependencies:
npm install
- Start the development server:
npm start
This project is a React web application for handling layouts.
- React
- Typescript
- i18next for language switching
- Ant Design for layout and component styling
- SCSS for styling
- Redux Toolkit for state management
- Local Storage for data persistence
- Pagination and Sorting capabilities in tables
- Navigate to the project directory:
cd frontend/react-layout
- Install the dependencies:
npm install
- Start the development server:
npm start
To run all backend tests and start the frontend servers, you can use the following script:
#!/bin/bash
# Run backend tests
cd backend
source venv/bin/activate
./run_tests.sh
deactivate
# Start frontend servers
cd ../frontend/react-form
npm start &
cd ../react-layout
npm start &
Save this script as run_all.sh
, give it execute permissions, and run it:
chmod +x run_all.sh
./run_all.sh