Skip to content

Commit

Permalink
Project Guides
Browse files Browse the repository at this point in the history
  • Loading branch information
ScottWest742 committed Aug 22, 2023
1 parent 3e70b47 commit 9fb09a8
Show file tree
Hide file tree
Showing 4 changed files with 231 additions and 43 deletions.
53 changes: 53 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Fireshop Project Code of Conduct

Fireshop is committed to fostering a welcoming and respectful community of contributors. We value diversity, inclusivity, and open collaboration. As a participant in this project, you agree to abide by this Code of Conduct in all interactions.

## Our Pledge

In the interest of fostering an open and welcoming environment, we pledge to:

- **Be Respectful**: Treat all individuals with respect, regardless of background, identity, or differences.

- **Be Inclusive**: Welcome and support diverse perspectives and ideas, fostering a sense of belonging for all.

- **Be Patient and Understanding**: Recognize that people have varying backgrounds, experiences, and opinions. Be patient and open-minded in discussions.

- **Be Considerate**: Your work will be used by others, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions.

## Expected Behavior

To ensure a positive and constructive environment, all participants are expected to:

- **Use Inclusive Language**: Use language that is respectful and inclusive of all individuals and groups.

- **Be Collaborative**: Work together, offer constructive feedback, and help each other learn and grow.

- **Be Mindful of Your Words**: Be mindful of your words and actions. Harassment and other exclusionary behavior aren't acceptable.

## Unacceptable Behavior

Examples of unacceptable behavior include but are not limited to:

- **Harassment**: Any form of written, verbal, or physical harassment based on race, gender, sexual orientation, disability, religion, or other protected status.

- **Hate Speech**: Use of derogatory, discriminatory, or prejudiced language.

- **Trolling and Disrespectful Behavior**: Deliberate intimidation, insults, or personal attacks.

## Reporting and Enforcement

If you experience or witness behavior that violates this Code of Conduct, please report it promptly to [[email protected]](mailto:[email protected]). All reports will be reviewed and investigated.

In cases where a participant violates this Code of Conduct, appropriate action will be taken, including warnings, temporary bans, or permanent bans, as deemed necessary. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, and other contributions that do not align with this Code of Conduct.

## Acknowledgment

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html).

## Contact

If you have any questions about this Code of Conduct, please contact us at [[email protected]](mailto:[email protected]).

## Attribution

This Code of Conduct was last updated on [2023-08-22].
48 changes: 48 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Contributing to Fireshop

Thank you for considering contributing to Fireshop! We appreciate your time and effort to make this project even better. Your contributions help us create a more powerful and feature-rich e-commerce template.

## Code of Conduct

Please note that we have a Code of Conduct that we expect all contributors to follow. By participating in this project, you agree to abide by its terms. The Code of Conduct can be found in the [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) file.

## Ways to Contribute

There are various ways to contribute to Fireshop:

1. **Bug Reports and Feature Requests**: If you encounter any bugs or have ideas for new features, please open an issue on our [GitHub repository](https://github.com/SinoLewis/fireshop/issues). Please check if a similar issue already exists before creating a new one.

2. **Documentation Improvements**: If you find any part of the documentation unclear or lacking, feel free to propose changes. This includes improving explanations, adding missing details, or fixing formatting issues.

3. **Code Contributions**: If you'd like to contribute code, follow these steps:

- Fork the repository to your own GitHub account.
- Create a new branch from the `main` branch: `git checkout -b feature/your-feature-name`.
- Make your changes and ensure that they follow our coding style and guidelines.
- Test your changes locally to ensure they work as expected.
- Commit your changes with a descriptive commit message.
- Push your changes to your fork: `git push origin feature/your-feature-name`.
- Open a pull request (PR) on our [GitHub repository](https://github.com/SinoLewis/fireshop/pulls) with a detailed description of your changes.

## Code Guidelines

When submitting code contributions, please adhere to the following guidelines:

- Follow the coding style already present in the project to maintain consistency.
- Write clear and concise commit messages that describe the purpose of your changes.
- If you're adding new features or modifying existing ones, consider updating or adding relevant documentation.

## Getting Help

If you need help or have questions about the project, feel free to:

- Open an issue on the [Fireshop repository](https://github.com/SinoLewis/fireshop/issues).
- Reach out to us via email at [[email protected]](mailto:[email protected]).

We value your contributions and will do our best to provide timely assistance.

## Licensing

By contributing to Fireshop, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).

Thank you again for your interest in contributing to Fireshop! Your help is greatly appreciated.
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Copyright (c) 2012-2023 Scott West and Lewis Sino

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
153 changes: 110 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,51 @@
# Fireshop
![Intro](./static/img/Intro.gif)

The Fireshop online shop platform frontend built with Svelte, Tailwind, Hugo, Firebase, & Flamethrower.
# Fireshop - Hugo with Svelte Web Components App

<img src="./static/img/fireshop.png" alt="logo" width="240"/>
<!-- ![Intro](./static/img/fireshop.png) { width:"300px"; height:"200px"} -->

Fireshop is a powerful and dynamic e-commerce website template that combines the flexibility of Hugo and the interactivity of Svelte Web Components. This template allows you to build stunning online shops with blazing-fast performance and seamless user experiences. Whether you're a developer looking for an efficient way to create an e-commerce site or a business owner who wants to launch an online store, Fireshop has got you covered.

## Table of Contents

- [Live Site](#live-site)
- [Features](#features)
- [Project ToDo's](#project-todos)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Customization](#customization)
- [Developing Components](#developing-components)
- [Theming](#theming)
- [Product Catalog](#product-catalog)
- [API Integration](#api-integration)
- [Contributing](#contributing)
- [Discord sever](#discord-server)
- [License](#license)

## Live Site

You can view the [demo site](https://fire-shop.netlify.app)

## Features

- **Hugo**: Utilize the power of Hugo, a fast and flexible static site generator, to manage content and generate static pages efficiently.

- **Svelte Web Components**: Harness the interactivity and reactivity of Svelte to create dynamic user interfaces with ease.

- **Responsive Design**: Build a seamless shopping experience for users across various devices and screen sizes.

- **Product Management**: Easily manage your product catalog through Hugo's content management system.

- **Fast Loading**: Take advantage of Hugo's static site generation to achieve lightning-fast loading times.

- **SEO Optimization**: Generate SEO-friendly pages with Hugo's built-in features and best practices.

- **Custom Theming**: Customize the look and feel of your online store by easily modifying Hugo templates and Svelte components.

- **Data Fetching**: Fetch data from external APIs to display real-time product information and updates.

## Project TODO's

- [x] Revolt Merchant API's for customer notification
Expand All @@ -15,62 +54,69 @@ You can view the [demo site](https://fire-shop.netlify.app)
- [ ] Mpesa Payments
- [ ] Glovo or Sendy kenya delivery service

## Dev Assistance
## Getting Started

All static content is managed with Hugo in the `content` dir. You can easily extend your ideas directly by forking this repo.
### Prerequisites

## Getting started local
Before you begin, ensure you have the following installed:

First, install [Hugo Extended](https://gohugo.io/getting-started/installing/) ver `0.101.0` or greater.
Then Fork the repository and start you development.
- **Hugo**: You can download and install Hugo from [Hugo's official website](https://gohugo.io/getting-started/installing/).

```
git clone https://github.com/<your_username>/<repository_name>.git
git checkout -b <your_dev_branch_name>
npm install
npm start
```
- **Node.js and npm**: Svelte requires Node.js and npm. You can download them from [Node.js official website](https://nodejs.org/).

Check it on on `http://localhost:6969/`.
<!--
## Getting started with docker server
### Installation

> First make sure you have [docker](https://docker.com) installed in your system
1. Clone the Fireshop repository:

Then start meilisearch container
```bash
git clone https://github.com/SinoLewis/fireshop.git
```

```
docker run -p 7700:7700 --name meilisearch getmeili/meilisearch:v1.1
```
2. Navigate to the project directory:

Then start redis container
```bash
cd fireshop
```

> redis-stack is used for dev & debug purpose only. Mainly need redis only
3. You own git dev branch (optional)

Check redis status on on `http://localhost:8001/`.
```bash
git checkout -b your_dev_branch_name
```

```
docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
```
4. Install the required Node.js dependencies:

```bash
npm install
```

### Configuration

1. **Hugo Configuration**: Update the `config.toml` file in the root directory to configure your Hugo site settings, such as site title, description, and more.

2. **Svelte Configuration**: Modify Svelte components in the `src/components` directory to customize the user interface and functionality.

## Usage

> Start whole server

```sh
cd docker
npm start
``` -->
- `npm start`: Main dev server. Runs everything you need.
- `npm run svelte`: Runs components in isolation. Serves `app/index.html` as a playground for components.
- `npm run hugo:serve`: Only runs static site.
- `npm run build`: Hugo & Svelte Build for production

This command will build and serve the Hugo site along with the Svelte components. Open your browser and navigate to `http://localhost:6969` to see your Fireshop in action!

<!-- [![Build Status](/static/img/delivery.png)](https://travis-ci.org/username/repo) -->
## Customization

## Developing Components
### Developing Components

Create a Svelte file in the `app/components` directory. It must have a custom element tag.

```html
<svelte:options tag="cart-info" />
<script>
export let info: string;
export let info: string;
</script>
<h1>Good cookup sesh! {info}</h1>
Expand All @@ -91,10 +137,31 @@ Now use it in anywhere in your HTML or Markdown.
**Note 1:** Web components styles are encapsulated through the [Shadow DOM](https://web.dev/shadowdom-v1/). Global styles will not work as part of Shadow DOM concept of styling.
**Note 2:** You can use Tailwind, with `@apply` in the component or the css used by [tailwindcss docs](https://v2.tailwindcss.com/docs).

## Commands
### Theming

- `npm start`: Main dev server. Runs everything you need.
- `npm run svelte`: Runs components in isolation. Serves `app/index.html` as a playground for components.
- `npm run hugo:serve`: Only runs static site.
- `npm run dev`: Concurrently rebuilds changes in svelte & runs hugo server.
- `npm run build`: Hugo & Svelte Build for production
- You can customize the theme of your Fireshop by editing Hugo templates located in the `layouts` directory.
- Styles can be found in the `styles` directory
- Components for the Svelte portion of the app can be found in the `src/components` directory.

### Product Catalog

Manage your product catalog by creating and editing content files in the `content/products` directory. You can utilize Hugo's content management system to easily add, remove, or update products.
### API Integration
To fetch real-time product information, integrate with external APIs by modifying Svelte components in the `src/components` directory. Use libraries like `fetch` or `axios` to make API requests.
## Contributing
We welcome contributions from the community! If you'd like to contribute to Fireshop, please review our [contribution guidelines](CONTRIBUTING.md).


## Discord server

## License

Fireshop is released under the [MIT License](LICENSE).

---

Feel free to reach out to us at [[email protected]](mailto:[email protected]) if you have any questions or need assistance. Happy e-commerce site building with Fireshop! 🛍️

0 comments on commit 9fb09a8

Please sign in to comment.