- Node.js LTS
- Linux can install using nodesource or by using package manager of the distro you use.
- Arch
pacman -S nodejs
- Debain
apt install nodejs
- Fedora
dnf install nodejs
- Alpine
apk add nodejs
- Arch
- Version used in development is 18.x.x
- Linux can install using nodesource or by using package manager of the distro you use.
- MariaDB/MySQL
- For windows, can use XAMPP
- For linux, can install from distro repositories
- (Optional) - As this project always use pnpm to manage deps, to install pnpm run -
npm i -g pnpm
or else usenpm
instead ofpnpm
git clone https://github.com/Methapon2001/rmutl-timetable-scheduler.git
cd rmutl-timetable-scheduler
- Create
.env
file. Secret is import as it is used for jwt authentication processDATABASE_URL="mysql://username:password@localhost:port/database_name" APP_SECRET="my_secret" APP_PORT=80
cd client
pnpm i
- (Optional) - Create
.env
file and replace hostname with IP Address or Domain namePUBLIC_API_HOST="http://hostname" PUBLIC_API_WS="ws://hostname/websocket"
pnpm run build
cd ..
- Go back to server side and run
pnpm i
- 1st run only or database structure related commit run -
pnpm run db:push
- 1st run only to create admin user run -
pnpm run db:seed
- Once every server related commit run -
pnpm run build
pnpm run start
or usingpm2
to run server.