Coder Social home page Coder Social logo

project-3's Introduction

Project 3: Localsquare

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.

Live version

https://localsquare.herokuapp.com/

User stories

  • 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.

Flowchart

Use cases

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. As an Administrator, he / she has the access rights to approve or reject newly created business listings submitted by Registered User.

Wireframes

Home page

Search result page

Listing page

Sign up page

Sign up next for business owner

Log in

Profile for user

Profile for business owner - About

Profile for business owner - Website

Profile for business owner - Photo

Profile for business owner - Product

Profile for web master

Messenger

Messenger - Conversation

Messenger - New message

ERD

Additional features to highlight

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.

How to Use

  • 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.

Deployment

This project is deployed on Heroku.

  • Redis Cloud is needed for real time messaging system.
  • Run heroku addons:create rediscloud to initialize this.

Built With

  • Ruby on Rails
  • PostgreSQL
  • Embedded Ruby
  • jQuery
  • Materialize
  • Devise
  • Will_paginate
  • Carrierwave & Cloudinary
  • Action cable & Redis Cloud

Workflow

  • Gantt chart

  • Kanban board used for individual tasks tracking and to record issues to attend to.

Areas to Improve On

  • Search and filter function
  • Devise customization
  • Functions to have more efficient collaboration between business owners

Authors

Acknowledgments

  • Prima Aulia Gusta
  • Shaun Loh

project-3's People

Contributors

chongct avatar jeremiahalex avatar

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.