Skip to content

Osprey Bank is an online banking service for scam baiters to bait out scammers. For years, scammers have plagued the internet with malicious use of technology, we are here to stop that!

Notifications You must be signed in to change notification settings

danieltsanghang/Osprey-Bank

Repository files navigation

Osprey Bank

Osprey Bank is an online banking service for scam baiters to bait out scammers. For years, scammers have plagued the internet with malicious use of technology, we are here to stop that!

Team Name

Team Osprey

Team Members

  1. Mohammad Albinhassan (mohammad.albinhassan@kcl.ac.uk)
  2. Gila Pearlman (gila.pearlman@kcl.ac.uk)
  3. Tulsi Popat (tulsi.popat@kcl.ac.uk)
  4. Jonathan (Jon) Rivera (jonathan.rivera@kcl.ac.uk)
  5. Hang (Daniel) Tsang (hang.tsang@kcl.ac.uk)

Deployed Application URL

https://ospreybank.herokuapp.com/

Languages/Technologies Used

Ruby on Rails 2.7.1, PostgreSQL, HTML, SCSS, JavaScript and deployed on Heroku

Local Usage

bundle install
yarn install
rake db:create
rake db:migrate
rake db:seed
rails server

Pre-populated Users

There are two types of users on the application, a regular user and an admin. 1 Admin and 1 User is provided. With a single admin, you can create/edit/delete as many other admins or users as you want, including accounts and transactions. Essentially, given 1 admin account you can do anything on the website. To login, click the "Login" button at the top right corner of the home page, or visit the path /login, or more specifically, the URL https://ospreybank.herokuapp.com/login. The admin and user details for login:

Admin:

username: admin0
password: Password12345

User:

username: seinfeld
password: Password12345


Note: There is a fake data generator an admin can access from the admin dashboard by clicking the button "Fake User Generator" or by visiting the route "/admin/generator/new". All users generated using this will have a default password of Password12345. The admin can change this password later by clicking the "Edit Password" button on the User index page or on the User show page, or by visiting the route /admin/users/:id/edit_password


Administrative Area

To gain access to the administrative area, simply login as the admin (username: admin0, password: Password12345), and it will automatically redirect you to the administrative area. To login, at the home page there is a login button at the top right that says "Login", or use the path "/login", or more specifically "https://ospreybank.herokuapp.com/login". Simply enter the admin credentials, click the "Login" button and the path "/admins" will be opened, which is the admin dashboard page/view (Admin interface URL: https://ospreybank.herokuapp.com/admins). To re-iterate, a regular user and admin login in the same place, depending on the type of user/access level, they will be redirected to differnt paths/places.

Notable Features/Routes

  • There are nested resources that provide for a much better user experience. A full list of them can be found using rails routes or by viewing the routes.rb file. For example, a user can view all transactions from all accounts using the route: /transactions or for a specific account using /accounts/:id/transactions. Similarly, an admin can view all transactions or accounts for a specific user using the route /admin/users/:id/transactions or /admin/users/:id/accounts. These nested resources are very useful and convenient.
  • An admin can create fake data on the website using following route: admin/generator/new, and can create fake transactions for specific users through the following route: admin/generator/new?userid=:id. Note: to create transactions for a specific user, that user must have an account. Also, when generating transactions, if the admin selects 100 transactions to create, the generator will create 100 sent transactions and 100 received transactions for each account a user has, so 200 in total for each account.

References

  1. Bootstrap Studio: This was used extensively throughout the development of the UI. Usage included using default themes/templates/stock images provided by the application.
  2. Bootstrap: Bootstrap was used significantly throughout the UI
  3. Font Awesome: This was used throughout the website for icons, such as in the admin dashboard page, or in the error pages.
  4. Rails Cast Episode 228 was used for implementing sortable rows. http://railscasts.com/episodes/228-sortable-table-columns
  5. Images:
    1. https://siftware.com/wp-content/uploads/2020/09/happy-customer-alt.png
    2. https://www.okgv.com/wp-content/uploads/2019/08/OlsonKulkoskiGallowayVesely-1035146258.jpg
    3. https://img.freepik.com/free-photo/happy-senior-woman_256588-835.jpg?size=626&ext=jpg&ga=GA1.2.548558842.1600041600
    4. https://cdn.ps.emap.com/wp-content/uploads/sites/3/2019/12/stock-image-of-young-girl-woman-student-440x330.jpg
    5. Favicon Used: https://icons-for-free.com/finance+money+money+in+wallet+wallet+icon-1320086013421017813/
  6. Gems Used (Full list can be found in the Gemfile, these are the most notable gems used specific to our application):
    1. bcrypt
    2. faker
    3. money-rails
    4. monetize
    5. chartkick
    6. groupdate
    7. minitest-reporters
    8. bootstrap
    9. bootstrap_form
    10. sass-rails
    11. jquery-rails
    12. rails-controller-testing

About

Osprey Bank is an online banking service for scam baiters to bait out scammers. For years, scammers have plagued the internet with malicious use of technology, we are here to stop that!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •