practical-tutorials / project-based-learning

Curated list of project-based tutorials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clean up dead or outdated tutorials

enkeyz opened this issue · comments

Clean up dead or outdated tutorials. Feel free to make a PR.

@enkeyz can I work on this issue?

@enkeyz can I work in this issue if no one is interested in ?

hello,
if no one is working on this issue #344,
i would like to give it a try..

Feel free to make a PR, you don't have to ask for permission.

hey @enkeyz I like to work on this issue but every time I try to fork the repo it says (This page is taking too long to load.

Sorry about that. Please try refreshing and contact us if the problem persists.)

Can I please work on this

@enkeyz I was thinking this might issue might be solved by finding a way to switch to a different format for adding and tracking projects.

For example:

Using a JSON or YAML structure of the tutorials maybe with something like

tutorials: [
  {
    "title": "Learn C# By Building a Simple RPG Game",
    "author": "Scott Lilly",
    "links": [
        {
          "text": "Website",
          "href": "http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/"
        }
    ],
    "languages": [
      "C#"
    ],
    "date-added": "DATE",
    "last-checked": "DATE",
    "status": "200",
    "tutorial-last-updated": "DATE",
    "tags": [
      "C#",
      "RPG",
      "Game",
      "Visual Studio",
    ],
  },
  // - [Build a TicTacToe Game with JavaScript](https://medium.com/javascript-in-plain-english/build-tic-tac-toe-game-using-javascript-3afba3c8fdcc)
  {
    "title": "Build a TicTacToe Game with JavaScript",
    "author": "AUTHOR",
    "links": [
        {
          "text": "Medium",
          "href": "https://medium.com/javascript-in-plain-english/build-tic-tac-toe-game-using-javascript-3afba3c8fdcc"
        }
    ],
    "languages": [
      "JavaScript"
    ],
    "date-added": "DATE",
    "last-checked": "DATE",
    "status": "active",
    "tutorial-last-updated": "DATE",
    "tags": [
      "HTML",
      "CSS",
      "JavaScript",
      "TicTacToe",
      "Frontend",
      "Game",
      "Web",
      "Paywall"
    ],
  },
  // - [Build a Blog with Vue, GraphQL and Apollo](https://scotch.io/tutorials/build-a-blog-with-vue-graphql-and-apollo-client)
  {
    "title": "Build a Blog with Vue, GraphQL and Apollo",
    "author": "Nwose Lotanna",
    "links": [
        {
          "text": "Scotch.io",
          "href": "https://scotch.io/tutorials/build-a-blog-with-vue-graphql-and-apollo-client"
        }
    ],
    "languages": [
      "JavaScript"
    ],
    "date-added": "DATE",
    "last-checked": "2023-09-26",
    "status": "404",
    "tutorial-last-updated": "DATE",
    "tags": [
      "HTML",
      "CSS",
      "JavaScript",
      "Vue",
      "GraphQL",
      "Apollo",
      "Frontend",
      "Web",
      "Paywall"
    ],
  },
]

The above example is kinda complex, but it could then enable this list to be improved and used in a variety of ways. Auto check status codes of links. Enable searching by tags. Stuff like that.

Any thoughts?

Even a much simpler version of the JSON object above would be handy as a starting point

[
    {
        title: "Learn C# By Building a Simple RPG Game",
        link: "http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/",
        "main-language": "C#",
        "date-added": "DATE",
        "last-checked": "DATE",
        "status-code": "200",
        "tutorial-last-updated": "DATE",
    },

    {
        title: "Build a TicTacToe Game with JavaScript",
        link: "https://medium.com/javascript-in-plain-english/build-tic-tac-toe-game-using-javascript-3afba3c8fdcc",
        "main-language": "JavaScript",
        "date-added": "DATE",
        "last-checked": "DATE",
        "status-code": "200",
        "tutorial-last-updated": "DATE",
    },

    {
        title: "Build a Blog with Vue, GraphQL and Apollo",
        link: "https://scotch.io/tutorials/build-a-blog-with-vue-graphql-and-apollo-client",
        "main-language": "JavaScript",
        "date-added": "DATE",
        "last-checked": "2023-09-26",
        "status-code": "404",
        "tutorial-last-updated": "DATE",
    },
];

Some of this could be automated using the Gray Matter library as a starting point https://github.com/jonschlinkert/gray-matter