Skip to content

Repository files navigation

e-comm-team-techsmith-bn

"Shop with ease and confidence - Your ultimate online shopping destination!"

Reviewed by Hound Coverage Status CircleCI Maintainability

Introduction

This web application e-comm-team-techsmith-bn is being built by Techsmith. It allows customers to browse products, add them to a cart or wishlist, and checkout securely. It also includes a backend admin panel for managing products, orders, and customers. It's designed to be easily customizable and scalable to fit a variety of sellers and buyers ' needs.

Index

Usage

Installation

  • install Docker and docker-compose if you want to run the app in docker. In some cases you can skip this.
  • clone the project git clone ;
  • go into the root directory of the cloned project
  • run npm install in order to install dependencies which are listed in package.json
  • create .env file into the root directory
  • copy and paste the content .env.example into .env, set the appropriate PORT and other listed environment variables
  • run npm run dev for development
  • you will be able to access the project on your local machine using url: 127.0.0.1:$port

Run app in Docker

To run the app in Docker You should first install docker as instructed in the installations needed.

  • run npm run docker-compose up : To build and start app in Docker

Other instructions about docker will be mentioned soon

Documentation

Navigate to 127.0.0.1:$port/api/docs on your browser. The swagger documentations on the page will give you an overview of the app functionalities.

Development

  • For development, pull the project to your own repo

Pre-Requisites

  • Nodejs version 18.x
  • Docker
  • Postgres
  • Sequelize ORM
  • Mocha

File Structure

  • src : Out of setup all the other new files are supposed to be added inside this folder.

  • gitignore:This file is used to exclude files or directories from being tracked by Git. This is particularly useful for sensitive or irrelevant files that don't need to be uploaded to a remote repository.

  • eslintrc.json:This file is used to configure the ESLint code linter, which helps to catch and fix errors and inconsistencies in the JavaScript code.

  • babelrc: This file is used to configure Babel, a tool that transpiles modern JavaScript code into an older syntax that can be understood by older browsers and environments.

  • env.example:This file is a template for creating a .env file, which is used to store environment variables for this project. This allows sensitive information such as API keys and database passwords to be kept secure.

  • sequelizerc:This file is used to configure Sequelize, an ORM (Object-Relational Mapping) library for Node.js, which helps to interact with the database.

  • houndciignore:This file is used to exclude files or directories from being analyzed by HoundCI, a code review tool.

  • hound.yml:This file is used to configure HoundCI, specifying which tools and configurations should be used during code review.

  • github:This folder may contain files related to integrating with Github, such as Github Actions configuration files

  • Logs:This folder is used to store log files generated by the application, which can help diagnose errors or other issues.

  • database:This folder may contain files related to the database schema or migrations, such as SQL files or migration scripts.

  • views: This folder is used to store the HTML templates used to generate the user interface of the application. These templates may be rendered by a server-side rendering engine or by the client-side JavaScript code.

  • package.json: This file is used by package managers like npm and yarn to store information about this project. In other words this json file stores metadata.

  • README.md: this file is updated often and it stores the description about this project.

Testing

The developer needs to run tests to ensure that the setup was correctly implemented. To test the endpoints run npm run test in the terminal

Community

Contribution

In case you wish to contribute, raise a discussion first about what you would like to change. Before making any changes, create a sub-branch from develop and push on that specific branch. Follow the instructions in the engineering playbook, to ensure homogeneous formatting.

Deployment

The application is hosted on render

License

Details about this can be found in the LICENCE file of this project

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

6 watching

Forks

Releases

Packages

Contributors

Languages