Skip to content

axeld-galadrim/galadrim-tools

 
 

Repository files navigation

Galadrim Tools

  • real time room booking tool
  • real time restaurant rating tool

galadrim tools home

see some other sample images here

Setup

  • yarn install
  • for the backend you will need a mysql database (docker setup)

Environment

on the frontend you need to create a .env you can copy and use the default .env.example

VITE_API_URL=http://localhost:3000/api
VITE_SOCKET_API_URL=http://localhost:3333

on the backend you need to create a .env you can copy and modify .env.example

the part you will need to adapt is the database connection settings

MYSQL_HOST
MYSQL_PORT
MYSQL_USER
MYSQL_PASSWORD
MYSQL_DB_NAME

Database

Docker mysql database

if you have docker/docker-compose installed, you can run

  • docker-compose up

it will launch a mysql server on the port 3310 you can edit this in docker-compose.yml

database setup

  • cd libs/shared
  • yarn build
  • cd ./apps/backend
  • node ace migration:run
  • node ace db:seed

Start project

  • yarn dev

⚠️ when updating a file in libs/shared you might need to restart frontend watcher

Adonis CLI tool

on the backend you have access to a node script file ace: cd ./apps/backend node ace --help

you can read documentation about it here

some commands that you could need

# display all API routes with controller method used
node ace list:routes

# start a read-eval-print-loop with your project loaded
node ace repl

adonis repl documentation

Test project

When you write complex logic, try to write tests

to test all, you can run yarn test

or to test only one project, you can do yarn test:backend yarn test:frontend

Build project

yarn build:shared yarn build:backend yarn build:frontend

Contributing

  • fork the repo
  • create a branch: git checkout -b feat/awesomeNewFeature
  • commit and push your changes
  • make sure project can be built without errors, and tests still pass
  • create pull request

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 86.3%
  • JavaScript 10.1%
  • CSS 2.3%
  • HTML 1.1%
  • Shell 0.2%