My group is developing an online business directory and networking platform to help small scale local businesses or individuals, to solve the problem of a lack in popularity to the general public by creating a community to foster collaboration between small scale businesses.
Problem Statement
- There is a lack in popularity of small scale local businesses or individuals.
- These business owners have difficulty advertising or reaching out to the general public.
Proposed Solution
- Our site aims to create a community of small scale local businesses or individuals so that they are able to collaborate to come up with business strategies instead of competing among themselves or working alone.
- Our site also aims to feature products which are not commonly found which differentiates us from other e-commerce sites.
- For example, an individual specialize in making Christmas related handicraft can choose to partner with a neighbourhood cake shop selling Christmas log cakes during the Christmas festive season through the site we are building.
https://localsquare.herokuapp.com/
-
As an owner of a small physical shop / individual renting a box space / individual selling at a flea market or push cart, I want to collaborate and partner with other sellers so that I can increase the range of products I am selling and in the process, earn a commission by featuring other sellers' products.
-
As an individual selling items on a part time basis through the web, I want to be able to show case my products by partnering with businesses having a physical shop front so that more customers are able to view my products physically before buying them. I am also able to increase my sales by advertising through more channels.
-
As an entrepreneur / owner of a small business, I want to be able to reach out to more customers so that more people are aware of the items which I am selling.
-
As a buyer, I want to be able to have a site which features and provides information on products which are not commonly found.
-
As a buyer of online goods, I want to be able to view the products I am interested in physically before buying them so that I can ensure that I am satisfied with the quality of the products. This can be done by visiting shops, rented box spaces, flea markets or push carts which will be featuring them.
-
As a buyer of online goods, I want to be able to access the catalogues and be updated of the items sold at small physical shops, rented box spaces, flea markets or push carts so that I can make the decision first before visiting them.
- As a Normal User of our website without any registered account, this user will be able to search for businesses listed on our site and write a review anonymously.
- After registering for any account, all Users have access to their personal profile page and are able to bookmark businesses. They are able to chat or message business owners.
- As a Registered User, this user will be able to create business listing to advertise his / her business. This is subjected to approval by the Administrator.
- Upon approval, this Registered User changes to a Business Owner. His / her business will be listed on the site and will be visible to the public. This Business Onwer is allowed to edit his / her business information subsequently.
- As an Administrator, he / she has the access rights to approve or reject newly created business listings submitted by Registered User.
Image upload using Carrierwave and Cloudinary
Carrierwave gem is used for image upload. More details can be found in this guide.
Cloudinary is needed for online deployment and for retention of images uploaded.
Action cable for instant messaging
Messaging models have to be set up first to store the conversations and messages occurring. This guide is used.
Action cable is then used to enable real time messaging. This guide is used.
Redis Cloud is needed for online deployment.
- Fork and clone this repository.
- Run
bundle install
to install dependencies. - Run
rails server
to launch web server for local deployment. - Start PostgreSQL server.
- To seed dummy data, run
rails db:seed
.
This project is deployed on Heroku.
- Redis Cloud is needed for real time messaging system.
- Run
heroku addons:create rediscloud
to initialize this.
- Ruby on Rails
- PostgreSQL
- Embedded Ruby
- jQuery
- Materialize
- Devise
- Will_paginate
- Carrierwave & Cloudinary
- Action cable & Redis Cloud
- Gantt chart
- Kanban board used for individual tasks tracking and to record issues to attend to.
- Search and filter function
- Devise customization
- Functions to have more efficient collaboration between business owners
- Prima Aulia Gusta
- Shaun Loh