Skip to content

jwanggggg/instrument-exchange

 
 

Repository files navigation

Build Status

README

History

The project was designed by Jonathan Wang who was influenced by his musical interests growing up. Seeking to introduce newcomers to music, he sought an opportunity to provide them with a platform that would allow anyone to sample new instruments or practice in private studios regardless of social or economic status.

Instrument Exchange

Instrument Exchange is an online platform designed to enable instrument and studio owners to list their equipment and space for rental or sale. This platform enables aspiring musicians to trial new instruments from other instrument owners. The interface will be very similar to Ebay or Craigslist where consumers are able to browse on an easily navigable interface where they are able to filter by a number of attributes including location, price, instrument, user rating, and condition of instrument. Users can sign up on the website and browse instruments and studios in their local area for lease or sale as well as list their own equipment for others to view. In signing up, all users will have dual ability to list their own instruments as well as purchase from others. Furthermore, the product will possibly aspire to implement a function to introduce a social media like platform that enables others to seek performances in listing their expertise, as well as list music lessons that others would be able to purchase.

Technologies

The project will utilize JavaScript/React as a frontend framework to allow users to easily navigate the platform. In addition, the unit testing framework Mocha will be used to complement our use of JavaScript. MongoDB will be used as a database platform to maintain users' data and transaction history to record all products listed and purchased as well as user profile information such as login and password. The authentication software used to ensure security will be Passport.js. A file system will be used to maintain all photos listed by sellers. Monetary transactions through our platform will be securely done through implementing PayPal.

Getting Started

This project has yet to reach the stage of a minimum viable product. However, more detailed instructions to come on how to install the project on your local machine. To contribute to our project, kindly clone or fork a git repository on to begin.

Prerequisites

Before working on this project, ensure that there is a **MongoDB instance** running on the local machine.

Official links can be found here:

  • Node.js - Backend framework used
  • Passport.js - Used to ensure login authentication
  • React.js - Web interface framework
  • MongoDB - Database platform for user data
  • Mocha - Unit testing framework

Installing

Navigate to the `application_code` directory run the command `npm install` to install all the packages required for this project to run.

Running the tests

Run the command `npm test` to run all the unit tests written. To generate `code coverage` report run the command `npm run test-with-coverage`

Running the Application

Navigate to the `application_code` directory run the command `node app.js`. As mentioned in the **Prerequisite** section, make sure that you already have a **MongoDB instance** running before you run this command.

Links

For more information, please read our REQUIREMENTS.md

If you would like to contribute to our project, please refer to CONTRIBUTING.md for instructions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.1%
  • HTML 13.3%
  • CSS 8.6%