A Rails and Javascript CRUD (Create Read Update Delete) application for managing issues.
This is a complete Rails with Javascript application that manages related data through complex forms and RESTful routes. The goal of the application is to build an Issue Management System to support one of ITIL Incident Management's main function: The Service Desk.
The service desk is the single point of contact for customers to report IT-related incidents. As such, this application aims to help service desk support staffs to capture and track IT issues promptly, work collaboratively, encourage knowledge transfer, collect IT data trend, and support problem management requirements.
- Uses the Ruby on Rails framework (MVC or Model-View-Controller framework).
- Uses Javascript with Active Model Serialization JSON backend.
- Includes has_many, belongs_to, and has_many :through relationship among tables.
- Includes reasonable validations when creating records and defends against invalid data.
- Includes class level ActiveRecord scope methods.
- Provides standard user authentication for signup, login, logout, and passwords.
- Uses nested resource with the appropriate RESTful URLs.
- Uses helper methods and partials.
- Uses bootstrap for the views and layouts.
- Allows user signin or signup.
- Provides authorization and access based on a user's assigned role.
- Users with roles of L1, L2, and L3 can only create, show, update, and delete issue records.
- Users with role of 'Guest' can only view all issues.
- Users with role of Admin can create, show, update, and delete any table records.
- Dynamic Navigation bar. The navigation bar changes based on user's role.
- Users who initially sign up are given the role of 'Guest' automatically.
- Only users with 'Admin' role can change user's role.
- Forms correctly displays validation errors.
- Allows login from Github.
- Allows adding comments to issues and dynamically renders comments in issue page.
- Ruby Rails
- ActiveRecord
- Javascript
- JQuery
- SQLite3
- Bootstrap
- Integrated Development Environment (IDE) or Amazon Web Services (AWS) Cloud9
- Clone repository
$ git clone https://github.com/rfenix3/ruby-rails-crud-issue-manager.git
- Install bundle
$ bundle install
- Run database migration
$ bin/rails db:migrate RAILS_ENV=development
- Seed database table
$ rake db:seed
- Run the application using npm
$ npm start
- Open web browser and type in the localhost on url window
http://localhost:xxxx
For demo purposes, Admin password for this application is 'admin'. Other user's password is their user name in downcase.