Giter Club home page Giter Club logo

osprey-bank's Introduction

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 ([email protected])
  2. Gila Pearlman ([email protected])
  3. Tulsi Popat ([email protected])
  4. Jonathan (Jon) Rivera ([email protected])
  5. Hang (Daniel) Tsang ([email protected])

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

osprey-bank's People

Contributors

danieltsanghang avatar gilapearlman avatar jonemilnik avatar mohammadabh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

osprey-bank's Issues

Great looking project, how do we use it?

Hi,

I've been looking for a nice bank setup for scam baiting. This looks great, but what steps would one take to get this going? Would an Nginx web instance with php do the job?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.