- App brief for MarketPlace
- App Requirements
- Wireframing
- User Stories
- Entity Relationship Diagram
- Configuration, Database Creation & Database Initalisation
- Gems
- Ruby Version
- Rails Version
Creating a website to promote your brand and sell your products can be difficult without any coding experience. There are many options for a business to sell their products however they can be costly and hard to set up. MarketPlace focuses on user experience and affordability to provide an online market place for a business to sell their products and promote their brand. MarketPlace provides a simple user interface where a website is created once user signs up, and to start selling all the user is required to do is simply click a button and follow some simple steps to create a payment account through stripe to start earning money. MarketPlace not only focuses on the user experience for a seller but also a buyer, by not requiring to create an account to buy product and also having the ability to purchase products from multiple shop in one transaction MarketPlace creates a desirable user experience for all parties involved.
Link : https://digitalmarketplace.herokuapp.com/
- Create your application using Ruby on Rails.
- Demonstrate knowledge of Rails conventions.
- Use postgresql database in development.
- Use an API (eg. Omniauth, Geocoding, Maps, other..).
- Use appropriate gems.
- Use environmental variables to protect API keys etc. (dotenv)
- Implement a payment system for your product. (e.g. Stripe)
- Your app must send transactional emails (eg. using Mailgun).
- Your app should have an internal user messaging system.
- Your app will have some type of searching, sorting and/or filtering capability.
- Your app will have some type of file uploading capability (eg. images).
- Your app will have authentication (eg. Devise, must have full functionality in place).
- Your app will have authorisation (users have restrictions on what they can see and edit).
- Your app may have an admin dashboard for the admin user to administrate the site.
- Document your application with a README that explains how to setup, configure and use your application.
Link: https://trello.com/b/6RHt5sse/marketplace/
- Clone repo
- Run bundle install
- Create .env file in the root dir with the following config variables
- POSTGRES_PASSWORD // postgreSQL
- PUBLISHABLE_KEY // stripe
- SECRET_KEY // stripe
- AWS_ACCESS_KEY_ID // amazon
- AWS_REGION // amazon
- AWS_SECRET_ACCESS_KEY // amazon
- S3_BUCKET_NAME // amazon s3
- SECRET_KEY_BASE // stripe
- MAILGUN_API_KEY // mailgun
- MAILGUN_DOMAIN // mailgun
- MY_EMAIL // administrator email - must validate in mailgun dashboard
- Run rails db:create
- Run rails db:migrate
- Run rails server
- Create first user (sign up form)
- Run rails console
- Give first user admin role
- user = User.find(1)
- user.add_role :admin (to assign admin role)
- user.save (to save role)
- user.has_role? :admin (should now return => true)
- Create categories
- Category.create( name: "category" )
- Repeat process until you are happy with categroies
- Run rails server
- Create next user (sign up form)
- Background image can be changed form preset image via drag and drop
- Logo can be changed from preset via drag and drop
- To access admin area add /orders to the end of your localhost address
- gem 'pg'
- gem 'devise'
- gem 'carrierwave', '~> 1.0'
- gem 'stripe'
- gem 'dotenv-rails', groups: [:development, :test]
- gem 'carrierwave-aws'
- gem 'httparty'
- gem 'mailgun-ruby', '~>1.1.6'
- gem 'rolify'
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
Rails 5.1.4