Qwiz Notes is social network for students to study. It provides a distraction free environment with tools to help make studying more efficient.
- Ruby 2.4.0 +
- Rails 5.0.2
- PostgreSQL
- Unix like operating system (OS X, Ubuntu, Debian, etc.)
- Not yet tested on Windows
- Clone or download the repository
- Install Ruby 2.4.0 via rbenv or rvm
- Install Rails (if not already installed)
- Install PostgreSQL (if not already installed). Here is a list of installation options based on your development machine's operating system. I am currently using Postgresapp and have used Homebrew (Not sure why, but I had issues restarting the service this time)
cd
into project directory (If not already there)cp config/secrets.yml.example config/secrets.yml
rake db:create:all db:setup
rails s
- View in browser at http://localhost:3000
# Cucumber tests
[bundle exec] cucumber
# Rspec tests
bundle exec rspec
# Automated testing for Cucumber and Rspec
bundle exec guard
I propose that we create a social network that has tools that are condusive to studying. There should be a simple and clean text editor. There should be tools for making quizzes and even strategies for making quizzes automatically. Users should be able to favorite other users and their notes. The app should be fast and have calm yet welcoming colors. There should be no advertisements or constant notifications. The web app will be available through any device with a web browser and an internet connection. Native mobile apps can be created once this web app becomes popular enough. Offline access would be prefered for situations where an internet connection is not possible.
Audiences This app is for students from Elementary to post-secondary school level.
- Be a focused platform that increases studying efficiency and knowledge retention.
- Allow students to collaborate easily
- Allow students to effortlessly create quizzes and review their results
- Provide a platform for online tutoring (Phase 2)
- Every page will include a site search tool.
- Login via Facebook or Google account.
- Guests can:
- View single notes (non index page)
- Take a quiz from a note
- Users must log in to:
- Create notes
- View all notes
- Follow notes
- Follow other users
- Create comments
- I chose to use Materialize CSS because I I have also read through most of Google's Material Design Guidelines and I agree with a lot of their opinions on User Experience.
- I chose to go with pagination instead of infinite scroll based on this UX article.
- Barsoom Rails style guide
- UI Namespaces
- Javascript classes:
jsButtonCollapse
('js', followed by 'noun/namespace' followed by 'verb', in camel case)
- Javascript classes:
When adding or changing any localization keys in the YAML files, please be mindful of existing keys in other languages.
From time to time you may need to reset the staging server database, to include new seed data, etc. Make sure you're in the ~/staging.APPNAME/current
folder. NOTE: Change APPNAME.
##### NOTE: Change APPNAME
rake db:environment:set RAILS_ENV=staging db:drop
sudo -u postgres createdb -O deploy APPNAME_staging
rake db:environment:set RAILS_ENV=staging db:migrate db:seed