-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3e70b47
commit 9fb09a8
Showing
4 changed files
with
231 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
@@ -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> | ||
|
@@ -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! 🛍️ |