L!nk D' Law is a web and mobile application that can be used to find the best lawyer and what kind of lawyer you need based on your case.
apps
- contains all the appsmobile-android
- mobile app for androidweb
- web app (optional)
cache
- contains all the cache from data processingdatasets
- contains all the datasets used for trainingdocker
- contains dockerfile for dev, staging, and productionpackages
- contains dependencies for all the apps or servicesplayground
- contains all the experimental code (jupyter notebook, etc)prisma
- database schema, migration, and seed with prismaservices
- contains all the servicesapi-gateway
- api service for handling all the api requestapi-auth
- api service for handling authenticationapi-main
- api service for handling main features
- Monorepo
- Microservice
- Unit Testing
- CI/CD (Continuous Integration/Continuous Deployment)
- ...
i recommend to use this text editor for development:
- Visual Studio Code
- Open this project with VSCode, and you will get a notification to install all the recommended extensions for this project. click install all.
api-gateway
- api service for handling all the api requestproxy
- proxy all the request to the right serviceauth
- handle authentication for all the request, if request has token, it will be validated first to theapi-auth
servicesecurity
- handle security for all the requestrate-limit
- handle rate limit for all the requestcors
- handle cors for all the request (for now it's disabled, because we handle mobile app)
api-auth
- api service for handling authenticationapi-main
- api service for handling main featureskim-ai
- ai service for handling all the ai requestpostgres
- database service for handling all the dataredis
- cache service for handling authentication token (for now)
make setup-dev
- setup development environment with dockermake dev-docker
- run development environment with dockermake dev-api
- run all api servicesmake build
- build all the services into binmake build-docker-images-prod
- build all the services into docker images for productionmake run <service_name>
- run a builded bin service
packages/
├─ services/
├─ schema/
services/
├─ api-gateway/
│ ├─ src
| | ├─ index.ts
├─ api-main/
│ ├─ src
| | ├─ index.ts
├─ api-auth/
│ ├─ src
| | ├─ index.ts
├─ kim-ai/
│ ├─ src
| | ├─ main.py
this project using monorepo structure, so all the services and packages are in the same repository.
packages
- contains all the packages that can be used by all the services, like for reusable code, etc.services
- contains all the services that will be used in this project. all service mostly using typescript, so we use bunjs as runtime and using bunjs workspace to manage our monorepo.
© 2021 Nakama Capstone