This README is still work in progress
Machine learning competition platform
- Machine learning platform just like private Kaggle written in Ruby on Rails framework.
Demo user account
Sample JSON file for submission
- Developer's manual is written in Github Wiki Page (Still WIP)
How to setup development environment
Deploy API server
Clone codes of API Server to calculate metrics for competition
git clone https://github.com/AillisInc/ml_competition_platform.git
Deploy API server according to the following steps
Setup environment variables.
cp .env.sample .env vim .env
Copy the following text to .env file.
METRICS_API_ENDPOINT=http://host.docker.internal:8000/ METRICS_API_AUTH_KEY=secret_key # In production environment, a strong key is recommended.
METRICS_API_AUTH_KEYis used for authorization with API server to calculate metrics
- Therefore, in production environment, it is recommended to use
METRICS_API_AUTH_KEYvalue that cannot be easily guessed.
METRICS_API_AUTH_KEYvalue should be matched to
API_KEY_TOKENvalue in API server
Build docker container with docker-compose
$ docker-compose run web bundle install $ docker-compose run web rails db:setup $ docker-compose up
Create User Account
- create admin account with the following command in rails console.
User.create(email: 'email@example.com', password: 'password', name: "admin_user", role: "admin")
- in case of creating normal user account, execute the following command.
User.create(email: 'firstname.lastname@example.org', password: 'password', name: "test_user", role: "member")
Server URL for development environment
Web API to calculate metrics
- To calculate metrics to determine ranking of each competitor, Web API written in Flask should be also deployed.
- The github code of this Web API server is here