Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/victor-enogwe/micro-learnning-app
A Micro Learning App Built With Sinatra
https://github.com/victor-enogwe/micro-learnning-app
Last synced: 5 days ago
JSON representation
A Micro Learning App Built With Sinatra
- Host: GitHub
- URL: https://github.com/victor-enogwe/micro-learnning-app
- Owner: victor-enogwe
- License: mit
- Created: 2018-07-09T09:33:46.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-01T22:45:21.000Z (7 months ago)
- Last Synced: 2024-05-02T15:38:24.586Z (7 months ago)
- Language: Ruby
- Homepage: https://micro-iyky.herokuapp.com/
- Size: 2.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Micro-Learnning-App
[![Maintainability](https://api.codeclimate.com/v1/badges/6020ea067cd700e922d4/maintainability)](https://codeclimate.com/github/andela-venogwe/Micro-Learnning-App/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/6020ea067cd700e922d4/test_coverage)](https://codeclimate.com/github/andela-venogwe/Micro-Learnning-App/test_coverage)A Micro Learning App Built With Sinatra, BackboneJs and ActiveRecord.
## Local Development
To run and develop this app locally, follow the steps below
- Clone the repository
- **HTTPS**: [https://github.com/andela-venogwe/Micro-Learnning-App.git](https://github.com/andela-venogwe/Micro-Learnning-App.git)
- **SSH**: [[email protected]:andela-venogwe/Micro-Learnning-App.git]([email protected]:andela-venogwe/Micro-Learnning-App.git)
- Install Bundler
- Run the command `gem install bundler` in your terminal.
- Install Dependencies
- Run the command `Bundle install` in your terminal.
- Local Config File
- rename the `.env.sample` file to `.env`
- Add all the specified credentials to your `.env` file
- Setup The Database
- Run the command `rake micro_learn:setup_database` in your terminal.
- Run the App
- Launch the app by running the command `rackup` in your terminal
- Visit the app in your web browser on `localhost:`
## Testing
Run all tests by running the command `bundle exec rspec` in your terminal
## App Features
- Registration with `firstname`, `lastname`, `email` and `password`
- Login with `email` and `password`
- View courses to learn
- Course categories
- User Permissions and Roles
- Roles: `user`, `instructor`, `admin`- Permissions:
- User Role: `["update_profile", "delete_profile"]`
- Instructor Role: `[
"create_course",
"update_course",
"delete_course",
"create_topic",
"update_topic",
"delete_topic"
]`- Admin Role: `[
"manage_courses",
"manage_roles",
"manage_topics",
"manage_users",
"manage_users_courses",
"manage_users_permissions"
]`- Topic notification by email
- Granular control of notifications per course
- Topic notification settings
- Interval in days
- Time of the day to receive topic
- Create, Update,Delete Courses by `Instructor`
- Allow embeded course topic content
- Course CRUD operation restrictions to `owners` or `admins`.
- Users can apply to become instructors
- Add/edit and disable instructors by admin - `Api only`
- Add/edit and disable course categories by admin - `Api only`