Open source educational software design, supported by multi-lingual teaching and learning.
- Collaborative Web App Prototyping Teams = [Developers+Instructors+Students] => [Design+Test+Build+Deploy]
- Mile High Overview
- Run Web App Demo For Prototyping
- Local Dev Setups
- Local Dev Testing
- Heroku Remote Hosting Local Setups
- Heroku Remote Service Deployment
- Troubleshooting
- Types of Contributors
- Tools For Seasoned Developers
- Task Management
- Related Projects
- References
- Devs
- Setup Local Dev Environment + Stand Up App As Is.
- Setup Local Deployment Tooling + Redeploy To Heroku.
- Setup Local System For Redeploying To Your Own Heroku App Hosting.
- Add Example Local Feature: [ Test + Code + Tag ].
- Redeploy Enhanced Demo To Self-Hosted Heroku.
- Invite Instructors To Private Test-Driven Feature Demo.
Broaden scope of project grasp => Detailed Overview
Skim this before your test-drive => Web App Prototype Feature Requests
- Instructors & Students
- Test-Drive Public Demo Web App + Foundational Features
- Publicly Hosted Web Demo
- Connect and review supported languages.
- Login as Guest. Register.
- Logout. Login.
- Choose Languages Of Interest.
- Reflect On Test-Driven Feature Development
In Terminal RUn: sudo apt-add-repository -y ppa:rael-gc/rvm sudo apt-get update sudo apt-get install rvm
RUN: rvm install ruby 2.5.1
gem update --system gem -v
gem install rails -v 6.1.4.1 After the installation is complete, check the rails version.
rails -v
sudo apt install postgresql postgresql-contrib libpq-dev -y After all installation is complete, start the Postgres service and enable it to launch everytime at system boot.
systemctl start postgresql systemctl enable postgresql Next, we will configure a password for the Postgres user, and create a new user for the Rails installation.
Login to the 'postgres' user and run the Postgres shell.
su - postgres psql Change the Postgres password using the query below.
\password postgres Type your password and the password for postgres user has been added.
Now we will create a new role for our rails installation. We will create a new role named 'rails_dev' with the privilege of creating the database and with the password 'aqwe123'.
Run the Postgres query below.
create role rails_dev with createdb login password 'aqwe123';
Got to your project folder in terminal and RUN:
gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
run: bundle install
Run: rake db:setup
to run the project:
Run: rails s
-
Dev Tools
-
Dependencies
- Assumes basic familiarity with:
- ruby version >= ruby 2.5.1p5:
$ ruby -v
- rails version 6.1.4.1:
$ rails -v
$ git clone [email protected]:urbanspectra-nyc/unilingo.git ; cd unilingo
- If bundler gem is installed, then just run:
$ bundle
- Else install the bundler gem with following command:
$ gem install bundler:2.2.15
- Else install the bundler gem with following command:
- After bundle is executed successfully, create db by running following command:
$ rails db:create rails db:migrate Rails db:seed
-
Browse to Local App URL
-
Repository Tour For Developers
- tree: sitemap + dirs
- gists
- dojos
- environments
- Assumes basic familiarity with Ruby/Rails and Git.
- Requires locally installed version of Ruby 2.5.0+, Rubygems, Bundler, and Rails 6+
- Requires heroku user account link
- Install the Heroku CLI on your development machine.
- Once installed, the heroku command is available from your terminal.
$ heroku -help
- Log in using your Heroku account’s email address and password:
$ heroku login
- Enter your Heroku credentials
- Email: < heroku account email >
- Password: < heroku account password >
- Enter your Heroku credentials
- Make sure you are in the directory that contains your Rails app, then create an app on Heroku:
$ heroku create <your app name>
-
Remote heroku target was added to your project by running:
$ git config --list --local | grep heroku
-
If you see 'fatal: not in a git directory' then you are likely not in the correct directory. Otherwise, you can deploy your code.
-
Deploy your code to heroku under your own account using:
$ git push heroku master
-
After deploying code, we need to migrate our database, make sure it is properly scaled, and use logs to debug any issues that come up. To push branch other than master use the following command:
$ git push heroku <your-branch-name>:master
Migrate your database
If you are using the database in your application, you need to manually migrate the database by running:
$ heroku run rake db:migrate
Any commands after the heroku run are executed on a Heroku dyno.
You can obtain an interactive shell session by running: $ heroku run bash
We can now visit the app in our browser with command: $ heroku open
-
Local Setups + Testing
-
Heroku Setups + Deployments
- Complete Heroku CLI Docs
- If you run into any problems getting your app to perform properly, then you will need to check the logs.
- View information about your running app using one of the logging commands:
$ heroku logs -t
- View information about your running app using one of the logging commands:
- Run the Rails console.
- Heroku supports a one-off "dyno" using the heroku run command.
- To launch a Rails console process attached to your local terminal for experimenting in your app’s environment:
$ heroku run rails console
- Adoptors In Education
- Instructors
- Students
- Ruby on Rails 6.x Devs
- Ruby Sinatra Devs
- React + Node Devs
- Elixir + Phoenix Devs
- PHP + Symfony Devs
- Python3 + Flask Devs
- docker
- gitpod
- diagrams.net
- docusaurus
- github pages + gitbook
- github actions
- cloud shell
- helm
- k8s
- Deploy Elixir App To Heroku
- Elixir i18n
- Sample Elixir App
- Extend Ruby on Rails
- Port to Elixir-Phoenix from Ruby on Rails
- Port to Ruby-Sinatra from Ruby On Rails
- Port to PHP-Symfony from Ruby On Rails
- Port to Py3-Flask from Ruby On Rails
- Port to Node-React from Elixir-Phoenix
- Mobile Strategy
- [Speech-To-Text Strategy]
- Product Team Roles: Product Manager + Technical Project Managers + Instructors + Developers + Engineers + Docs + APIs
- Issue Types
- Issue Triage
- Issue Templates
- PR Types
- PR Triage
- PR Templates
- Tech Workflows
- Educational Workflows
- Current + Pending Tasks => Move to issues!!
- Example Elixir Web App: rUrls
- Elixir package for Oauth authentication via Google Cloud APIs
- Rails Barter App
- Rails Crossword Puzzle Authoring App
- Example Beginner Structured Taxonomy Development
- Unilingo Advanced Structured Taxonomy Evolution
- ASDF Plug-In: Ruby
- ASDF Plug-In: Node
- Heroku Docs: Rails6
- Heroku Docs: CLI
- Heroku Docs: Terraform
- Terraform Provider: Heroku
- Terraform Automation: Github Actions
- Terraform Secrets: sops
- Terraform Cloud Workspaces
- ASDF Plug-In: Elixir
- Gitpod
- DockerHub
- microsoft and other proprietary software
- wordpress, drupal (php)
- ruby on rails
- python flask or django
- java etc
- node react
- ruby sinatra
- elixir
Each of the items above can be represented with 1-2 icons. That lends itself to web diagramming. We use http://diagrams.net for that.
-
Free course to reference when tawkin 5g to the masses.
Proposed format of tech README.md doc...
-
Project Title: polylingo
-
Repository Title: polylingo
-
Description: multilingual solutions for teaching and learning
-
Demo URL
-
Demo Instructions
-
User Demo Support Requests
-
User Demo Feature Requests
-
Audiences
-
Issue Types
-
Install Deps For Local App Setup
-
Clone + Stand Up Local App
-
Local App Dev Debugging
-
Local App Dev Prototyping
-
Deploy To Heroku
-
Pull Requests
-
Automate Deployments
-
Dockerize Dev Env
-
Automate Dockerization + k8sDeploys
-
Gitpods For Dev Env
-
Building Teams
Dev Languages + Frameworks:
- ruby-rails
- elixir-phoenix
- node-react
- python-flask
- flutter mobile
- updating rails to latest vers
- resolving gem issues
- deployment on heroku
- test docs
- split {Poly,Uni}Lingo