WeConnect provides a platform that brings businesses and individuals together. This platform creates awareness for businesses and gives the users the ability to write reviews about the businesses they have interacted with
See Application here: https://weconnect-seunzone.herokuapp.com/
Features Technology Installation Testing API End Points
Below are the features of my WEconnect app
Users can register on WEconnect
Users can log into WEconnect
Users can view all businesses
Users can search for any business
Users can search businesses by category
Users can search businesses by location
Users can write a review for any business in the catalog
Users can register businesses in WEconnect
Users can update their businesses
Users can delete their businesses
Modern JavaScript technologies were adopted for this project
ES2015: Also known as ES6 or ES2015 or ECMASCRIPT 6, is a new and widely used version of Javascript that makes it compete healthily with other languages. See here for more infromation.
NodeJS: Node.js is an open-source, cross-platform JavaScript run-time environment which allows you enjoy the features of Javascript off the web browsers and implement server-side web development. Visit here for more information.
ExressJS: This is the web application framework for Node.js Visit here for more information
Postgresql: This is an open source Object-Relational Model (ORM) database.
React: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes Visit here for more information
Webpack: webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. Visit here for more information
Sequelize: This a promise-based ORM (Object Relational Mapper) for Node.js v4 and up. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL and features solid transaction support, relations, read replication and more. Visit here for more information
Codes are written in accordance with Airbnb JavaScript style guide, see here for details.
Pexels: Free stock photos you can use everywhere. ✓ Free for commercial use ✓ No attribution required. Visit here to get started
Hero Patterns: A collection of repeatable SVG background patterns for you to use on your web projects. Visit here to get started
- Clone this repository into your local machine:
git clone https://github.com/seunzone/weConnect.git
- Install dependencies
npm install
- Start the development application by running
npm run dev
-
Create a
.env
file in the root of your project and insert See a sample in the.env.sample
Fill in the sample data with your prefared parameters -
Install postman to test all endpoints
- To run server side test
npm run test
- To run client side test
npm run test:client
- Make sure Java SDK is up and running on your device
- Download Chrome driver [here] (http://chromedriver.chromium.org/downloads)
- Download Selenium stand alone server [here] (https://www.seleniumhq.org/download)
- Create a bin folder in the root directory of the project and drop files there
- run
npm run start:e2e-test
on one terminal andnpm run e2e:test
on another terminal to run end to end test
HTTP VERB | ENDPOINT | FUNCTIONALITY | |
---|---|---|---|
POST | api/v1/businesses | Add Business to catalog | |
PUT | api/v1/businesses/:businessId | Update business | |
DELETE | api/v1/businesses/:businessId | Delete business | |
POST | api/v1/businesses/:businessId/review | Add review for a business | |
GET | api/v1/businesses/:businessId/review | Get all reviews for a business | |
GET | api/v1/businesses | Get all businesses | |
GET | api/v1/businesses/:businessId | Get details of a business | |
GET | api/v1/businesses?location=location | Get businesses in a particular location | |
GET | api/v1/businesses?category=category | Get businesses in a particular category | |
POST | api/v1/auth/signup | Create a user | |
POST | api/v1/auth/login | Sign in a user |