DuckDuckBooze is a group project between four students while at Turing School of Software and Design's Backend Engineering program. The aim of the project is to use the following skills:
- Advanced database queries and manipulation using ActiveRecord and SQL
- Basic HTML/CSS layout and design for UX/UI
- Authentication & Authorization with bcrypt
- Session management to authenticate different users and each user's respective cart
- MVC design pattern
- CRUD and RESTful routes, with nested resources and namspacing
- TDD using RSpec and Capybara
- Version control and project management within a group environment
The project is a Rails web application that acts as an e-commerce platform with three types of users: registered users, merchants, and admins. Registered users can put items into shopping cart and check out to purchase; visitors can fill carts but must registered to complete the purchase. Merchants sell items, which they can change the fulfillment status of. The last merchant to fulfill a specific order sets that order to 'shipped'. Admin can edit both registered users and merchants accounts such as downgrade/upgrade role or enable/disable their account. Each user has defined roles and these roles vary the user's permission to access pages within the web application.
The program can run in development from the Rails server after following the following steps in your console:
- clone to a local repository using
git clone https://github.com/pschlatt/DuckDuckBooze.git
- change directory into the app with
cd DuckDuckBooze
- run
bundle install
- initialize the database with
rake db:{drop, create, migrate, seed}
- start the rails server with
rails s
- The terminal output will show the IP address to type into the browser in order to see the project (for example, localhost:3000)
The following is a screenshot of the landing page:
The project uses SimpleCov and RSpec to test.
rspec
runs the tests.
The project is in live production here
To login as a registered user, you can register a new account or use email: [email protected] password: 12345678
To login as a merchant email: [email protected] password: password
To login as admin, email: [email protected] password: password
Ruby on Rails, version 5.1.7.
Postgresql, version 11.2
Corey Sheesley @csheesley
Earl Stephens @earl-stephens
Paul Schlattmann @pschlatt
Chi Tran @chitasan