JAPAN Listed Companies is a website that displays sales and annual salaries of companies listed on the Tokyo Stock Exchange in a ranking format. This website is available in English and Japanese
- English: https://www.company-ranking.net/en
- Japanese: https://www.company-ranking.net/ja
- English: https://dev.to/yuki0920/from-personal-project-to-open-source-releasing-japan-listed-companies-site-41d3
- Japanese: https://zenn.dev/yuki0920/articles/ad5da7f23e2f6a
cp .env_sample .env
cp .envrc_sample .envrc
docker-compose build
docker-compose run --rm ruby bundle
docker-compose run --rm ruby bundle exec rails db:setup
docker-compose run --rm go make install/tools
cd typescript && npm install && cd ../
docker-compose up
Ports should be specified in .env
.
- API(Rails): http://localhost:3003/markets
- Front(Next.js): http://localhost:8888
- Swagger UI: http://localhost:8000
These commands are defined in Makefile.
https://github.com/yuki0920/company-ranking/blob/main/Makefile
The schema file is here. https://github.com/yuki0920/company-ranking/blob/main/openapi/openapi.yaml
# for server
make go/generate/server
Install openapi-generator-cli
https://github.com/OpenAPITools/openapi-generator-cli#globally
make typescript/generate/client
bundle exec rake save_securities:all
How to check: If the companies listed on the sheet are registered, it is successful. The data is created in DB(securities).
The API is called 書類一覧API
Endpoint: https://disclosure.edinet-fsa.go.jp/api/v1/documents.json
The API details are here
bundle exec rake save_document_summary:year
How to check: If the metadata such as security_code
and company_name
of the company's most recent announcement is reflected, it is successful.
The data is created in DB(documents).
The API is called 書類取得API
Endpoint: https://disclosure.edinet-fsa.go.jp/api/v1/documents
bundle exec rake save_document_detail:batch
How to check: If the details such as net_sales
and average_annual_salary
of the company's most recent announcement are reflected, it is successful.
The data is updated in DB(documents).
We welcome your contributions.
Please read Contribution Flow.
# common
docker compose build
# ruby
docker compose run --rm ruby bundle
# go
docker compose run --rm go go mod download
# typescript using local node_modules
cd typescript && npm ci