- JavaScript 55.5%
- CSS 36.4%
- HTML 4.2%
- Ruby 2.5%
- Less 0.7%
- Other 0.6%
| app | ||
| bin | ||
| config | ||
| db | ||
| features | ||
| lib | ||
| public | ||
| script | ||
| spec | ||
| test | ||
| vendor/assets | ||
| .fontcustom-manifest.json | ||
| .gitignore | ||
| config.ru | ||
| dump.rdb | ||
| fontcustom.yml | ||
| Gemfile | ||
| Gemfile.lock | ||
| Procfile | ||
| Rakefile | ||
| readme.md | ||
___ _ __ ___ __ ___ _ __ ______ __ __ ______
/ || | / // | / / / | / | / // ____// / / // ____/
/ /| || | / // /| | / / / /| | / |/ // / / /_/ // __/
/ ___ || |/ // ___ | / /___ / ___ | / /| // /___ / __ // /___
/_/ |_||___//_/ |_|/_____//_/ |_|/_/ |_/ \____//_/ /_//_____/
avl2 system
Second prototype source code of the avalanche network web app.
Installation and Configurations
- Clone the project:
https://github.com/jamesperet/rails_website_template.git - Create a postgres databases for development and test enviorments.
- Configure the databases in
config/database.yml - Run
rake db:migrate - Run
rake bootstrap:allto configure the website and create a admin user - Create the file
config/application.ymlwith all env variables - Set the Google Analytics Tracking code in the file
app/assets/javascript/google_analytics.js.coffe - Start the server:
rails server -p 3000 - Login as
admin@website.comwith the password12345678
Deploy to Heroku
- Create a new heroku app:
heroku create new-app-name - Run
figaro heroku:set -e productionto copy env variables fromconfig/application.ymland set them in heroku - Add the heroku postgre addon:
heroku addons:add heroku-postgresqlto create and configure a postgres database in heroku server - Add the heroku Redis to Go addon:
heroku addons:add redistogo - Push to heroku:
git push heroku masterto deploy the repo - Migrate the database:
heroku run rake db:migrate - Create the initial config and admin user:
heroku run rake bootstrap:all - Add your website URL to the Mixpanel Partner program to earn 200,000 data points every month plus 25,000 people profiles.
Env Variables
AWS_ACCESS_KEY_ID:
AWS_SECRET_ACCESS_KEY:
AWS_S3_BUCKET:
AWS_S3_BUCKET_REGION:
HEROKU_APP_URL:
MANDRILL_USERNAME:
MANDRILL_KEY:
DOMAIN_NAME:
SERVER_EMAIL:
DEVISE_SECRET_KEY:
SECRET_KEY_BASE:
MAILCHIMP_KEY:
MAILCHIMP_LIST_ID:
REDISTOGO_URL:
Avalanche2 Dev Notes
System Scaffolding
# Mission
rails g scaffold mission mission_agents:references title:string objective:string briefing:text owner:references status:integer launched:boolean
language:string cover_img:string
# Mission Agents
rails g model mission_agent mission:references agent_steps:references mission_candidates:references objective:string briefing:text role:string
description:text user:references agent_number:integer debriefing:text
# Mission Agent Steps
rails g model agent_step mission_agent:references step:integer title:string description:text completed:bool completed_date:datetime
# Mission Agent Candidates
rails g model mission_candidate user:reference mission_agent:reference status:integer
# Step Validations
rails g model step_validation agent_step:reference step_verifications:references mode:string description:string
# Step Verifications
rails g model step_verification step_validation:references validated:boolean validated_by:references content:string
# Validation Scaffolding
rails destroy model step_validation
rails destroy model step_verification
rails g migration AddStepSubmissionToAgentStep step_submissions:references
# Step Validation
rails g model step_validation agent_step:references validation_id:integer validation_type
# Text Validation
rails g model validation_text step_validation:references description
# Step Submission
rails g model step_submission agent_step:reference submission_contents:references validated:boolean validated_by:references date_validated:datetime
# Submission content
rails g model submission_content submission_content:references submission_id:integer submission_type
# Text Submission
rails g model submission_text submission_content:references content accepted:boolean validation:references
# Rewards
rails g model reward mission:references mission_agents:references title:string description:text img:string
rails g model user_reward reward:references user:references received:boolean date_received:datetime
rails g migration AddRewardsToMission rewards:references
rails g migration AddRewardsToMissionAgent rewards:references
Undone Commands
# Mailers
rails g mailer MissionMailer
To dos
- mission controller
- agent controller
- mission_list_controller
- settings_controller
- mission_list_index
- agent_dashboard
- mission_index
- mission_show
- mission_edit/create
- emails:
- pending missions (3-5 days pending steps)
- Mission Acomplished
- Mission Failed
Notes
Step Validation
Each agent_step has many associated classes for storing validation details, user generated content and verification signing.
- agent_step
- step_validations
- validation_text
- validation_image
- validation_agent_position
- validation_git_hooks
- step_submissions
- step_verification
- submission_content
- submission_text
- submission_image
- submission_agent_position
- submission_git_hooks
- step_validations
Each step can have multiple step validations that are set by the mission director. Each step_validation can have one validation type like text, image or agent position. Every time an agent submits the information requested by the step_validations, a step_submission object is created with multiple sumission_content objects, one for each step_validation. The submission_content types can bem text, image or agent_position and they will store this information sent by the agent and process it.
The submission_content class is also responsible for triggering the automatic validation that some step_validations might have. If the validation requires an operator decision, than the step_submission will show up on the mission control panel for manual validation. If the step can be automatic validated, than the system will create a step_verification for the current submission.
- Enviar imagens com os desenhos
- Enviar uma imagem para cada tela do app
- Espere a validação pelo diretor da missão