Add readme and contribution docs

pull/1331/head
Kamran Ahmed 3 years ago
parent 0d937384a4
commit b4042cb183
  1. 2
      .github/FUNDING.yml
  2. 36
      .github/ISSUE_TEMPLATE.md
  3. 19
      .github/PULL_REQUEST_TEMPLATE.md
  4. 31
      .github/workflows/deploy.yml
  5. 59
      README.md
  6. 14
      contributing/guide.md
  7. 24
      contributing/readme.md
  8. 34
      contributing/roadmap.md

@ -0,0 +1,2 @@
# These are supported funding model platforms
github: kamranahmedse

@ -0,0 +1,36 @@
<!--
Please do not remove anything written below.
Fill the details and open the issue. Any issue that
doesn't have all of these filled in will be closed,
if yours is closed reopen with everything filled in.
-->
#### What roadmap is this issue about?
- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
#### What is this issue about?
- [ ] Functionality of the website
- [ ] Discussion for a pull request I would want to open.
- [ ] Addition of a new item
- [ ] Removal of some existing item
- [ ] Changing in arrangement
- [ ] General suggestion
- [ ] Sharing an Idea
- [ ] Something else
#### Please acknowledge the below listed
- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing) before opening this issue.
#### Enter the details about the issue here
<!-- Please enter the issue details here -->

@ -0,0 +1,19 @@
#### What roadmap does this PR target?
- [ ] Code Change
- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
- [ ] Guides
#### Please acknowledge the items listed below
- [ ] I have discussed this contribution and got a go-ahead in an issue before opening this pull request.
- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing) before opening this PR.
#### Enter the details about the contribution
<!-- Enter the details here -->

@ -0,0 +1,31 @@
name: Deployment to GitHub Pages
on:
push:
branches: [ master ]
env:
ROADMAP_GA_SECRET: ${{ secrets.GA_SECRET }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CI: true
NEXT_TELEMETRY_DISABLED: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
- name: Setup Environment
run: |
npm install -g yarn
yarn install
- name: Generate meta and builld
run: |
yarn meta
yarn build
- name: Deploy to GitHub Pages
run: |
git config user.email "kamranahmed.se@gmail.com"
git config user.name "Kamran Ahmed"
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
npm run deploy

@ -1,34 +1,39 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
## Getting Started
First, run the development server:
<p align="center">
<img src="public/brand.png" height="128">
<h2 align="center">roadmap.sh</h2>
<p align="center">Community driven roadmaps, articles and resources for developers<p>
<p align="center">
<a href="https://roadmap.sh/guides">
<img src="https://img.shields.io/badge/-Guides-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
<a href="https://roadmap.sh/roadmaps">
<img src="https://img.shields.io/badge/-Roadmaps-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
<a href="./contributing/guide.md">
<img src="https://img.shields.io/badge/%E2%9D%A4-Contribute-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
</p>
</p>
[roadmap.sh](https://roadmap.sh) is the community effort to create knowledge that is approachable for the developers.
The website is built with Next.js, contains roadmaps which are the step by step guides for developers, guides which are the easier to understand explanations on the complex topics. Anyone can contribute to the website by suggesting changes to existing paths, adding learning resources, becoming an author by adding new guides, updating the existing guides.
## Development
Clone the repository, install the dependencies and start the application
```bash
npm run dev
# or
git clone https://github.com/kamranahmedse/roadmap.sh
yarn install
yarn dev
```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.tsx`.
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
## Deploy on Vercel
## Contributions
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
* Add new Roadmap
* Suggest changes to existing roadmap
* Write an article
* Improve the site's codebase
* Write tests
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

@ -0,0 +1,14 @@
## Submitting a Guide
First thank you for considering contributing to this project. It wouldn't have been possible for us to keep it live without your contributions 🙏
> Follow the steps listed below in order to add a new guide
* Fork this repository
* If you haven't contributed to this project before then create your author profile
* Open the file [authors.json](../content/authors.json)
* Put your preferred `username`
* Put a profile picture in [authors directory](../public/authors) with the username
* Create a new markdown file in the [guides directory](../content/guides).
* Add the metadata for this guide in [guides.json](../content/guides.json). Please note that `fileName` and `slug` must match.
* Open a pull request

@ -0,0 +1,24 @@
## The Goal
* For the roadmaps, we encourage you to discuss and contribute with new roadmaps. For the existing ones, please note that our goal is to not have the biggest list of items. Our goal is to have a list of items or skills most relevant today.
* For the guides, please pick a topic, open an issue or reach out on twitter [@kamranahmese](https://twitter.com/kamranahmedse) to get the go-ahead and [start writing](./guide.md).
* For the resources, we are still preparing the contribution guidelines but submit them in an issue for now. Just note that the resources are *highly opinionated* and *curated*. Your opinion on value of any resource may not match the opinion of curator.
## Contributing
* [Submitting roadmaps](./roadmap.md)
* [Writing a Guide](./guide.md)
* [Submitting resources](./resources.md)
**No PR will be discarded without explanations!**
## Guidelines
- <p><strong>Adding everything available out there is not the goal!</strong><br />
The roadmaps represents the skillset most valuable today i.e. if you were to enter any of the listed fields today, what would you learn! There might be things that are of-course being used today but prioritize the things that are most in demand today e.g. agreed that lots of people are using angular.js today but you wouldn't want to learn that instead of React, Angular or Vue. Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included.</p>
- <p><strong>Do not add things you have not evaluated personally!</strong><br />
Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included. Have you read this book? Can you give a short article?</p>
- <p><strong>One item per Pull Request</strong><br />
There may be a discussion related to an item you want to add. Adding just a single item per pull request makes it much easier for everyone involved.</p>
- Write meaningful commit messages
- Look at the existing issues/pull requests before opening new ones

@ -0,0 +1,34 @@
# Submitting a new roadmap
First of all thank you for considering to contribute to this project. It wouldn't have been possible for us to keep it live without your contributions 🙏
> This process will be automated soon. Follow the steps listed below in order to add a new roadmap for now
* Fork this repository
* If you haven't contributed to this project before then create your author profile
* Open the file [authors.json](../content/authors.json)
* Put your preferred `username`
* Put a profile picture in [authors directory](../public/authors) with the username
* Create a new directory for the roadmap inside the [roadmaps directory](../content/roadmaps) by following the below steps:
* Directory name must be `kebab-cased` and prefixed with the incremental number e.g. `6-java-developer`
* Create a markdown file `6-roadmap-name/0-About/0-Summary.md` inside this directory and write the article detailing the steps required for this path. It doesn't have to be graphic like the other roadmaps; just focus on writing a detailed but approachable textual guide.
* Create a file `meta.json` inside the roadmap directory with the content below:
```json
{
"title": "Roadmap Name",
"description": "Step by step guide to becoming a modern ***",
"featuredDescription": "Step by step guide to becoming a modern ** in 2021",
"author": {
"name": "Your Name",
"url": "https://twitter.com/twitter"
},
"featured": false,
"detailed": false,
"versions": []
}
```
* Once done, run the below command:
```shell
yarn meta:roadmaps
```
* Commit, push and open a pull request
Loading…
Cancel
Save