Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aialok/json-schema-orgs-gsoc


https://github.com/aialok/json-schema-orgs-gsoc

Last synced: 28 days ago
JSON representation

Awesome Lists containing this project

README

        

[![JSON Schema logo - Build more, break less, empower others.](https://raw.githubusercontent.com/json-schema-org/.github/main/assets/json-schema-banner.png)](https://json-schema.org)



















# 👋 Welcome to the JSON Schema website
This repository contains the sources of JSON Schema website:

* It's powered by Next.js,
* It uses Tailwind CSS framework,
* It's build and deployed with Netlify.

## Run locally

#### Requirements
Use the following tools to set up the project:

Node.js v20.9.0+

#### Cloning the repository
This project uses git submodules, so you will need to run the following commands to fully clone the repo.
```
git submodule init
git submodule update
```

#### Install dependencies

Install dependencies
```
yarn
```

#### Run the development server

Run the development server on http://localhost:3000
```
yarn dev
```

#### Build static files

Build static files on /out folder
```
yarn build
```
#### Testing

Formatting

you can check code formatting using the following command:

```
yarn run format:check
```

you can format the code using the following command:

```
yarn run format:fix
```

Linting

you can check linting issues using the following command:

```
yarn run lint
```

you can fix linting issues using the following command:

```
yarn run lint:fix
```

Husky for git hooks

This project uses Husky to run checks for the formatting, linting, typecheck and build commands before committing the code.

pre-commit hook will run the following commands:

```
yarn run lint
yarn run typecheck
yarn run build
```

### Run locally using Docker

If you are a Docker lover, you have the option to use it following these instructions.

#### Prerequisites:

- [install Docker](https://docs.docker.com/get-docker/)

After cloning repository to your local, perform the following steps from the root of the repository.

#### Steps:
1. Build the Docker image:
```bash
make install
```

2. Start the container:
```bash
make run
```

Now you're running JSON Schema website in a development mode. Container is mapped with your local copy of the website. Whenever you make changes to the code, the website will refresh and changes visible in localhost:3000.

## Project structure

This repository has the following structure:

```text
├── .github # Definitions of GitHub workflows, pull request and issue templates
├── components # Various generic components such as "Button", "Figure", etc.
├── data # JSON Schema Implementations.
├── styles # Various CSS files
├── lib # Various JS code for preparing static data to render in pages
├── pages # Website's pages source. It includes raw markdown files and React page templates.
│ ├── overview # JSON Schema initiative docs
│ ├── blog # Blog posts
│ ├── learn # JSON Schema docs
│ └── implementations # Various pages to describe tools
├── public # Data for site metadata and static blog such as images
├── next.config.js # Next.js configuration file

```

## Contribute

Here are some areas where you can contribute to the website:
- Blogs posts
- Case Studies
- Design
- Documentation
- Website enhancements
- Add a new JSON Schema Implementation
- JSON Schema Landscape

To figure out a good first issue to work on, join our Slack workspace and visit the `#contribute` channel. This channel is specifically designed for onboarding and supporting new contributors.

You should also check out our [Contributing guidelines](./CONTRIBUTING.md).

### Contributors

Thanks goes to these wonderful people who contributed to this website:


Made with [contributors-img](https://contrib.rocks).

### Sponsors

[![Sponsors](https://opencollective.com/json-schema/sponsors.svg)](https://opencollective.com/json-schema/sponsors.svg?avatarHeight=90)

### Backers

**Thank you to all our backers!**
[![Backers](https://opencollective.com/json-schema/backers.svg)](https://opencollective.com/json-schema/backers.svg?avatarHeight=90)

## Connect with the JSON Schema Community


JSON Schema Slack
JSON Schema Twitter
JSON Schema LinkedIn
JSON Schema YouTube

## Inspired by
This document has been inspired by [AsyncAPI website README.md](https://github.com/asyncapi/website/blob/master/README.md).

## License
The contents of this repository are [licensed under](./LICENSE) either the BSD 3-clause license *or* the Academic Free License v3.0.