Skip to content

A Rosetta stone for software development - learn by comparing different technologies

License

Notifications You must be signed in to change notification settings

abstractalgo/rosetta

Repository files navigation

rosetta

A directory of various software development techniques demonstrated in multiple technologies and languages that you can compare side by side. Can be used for learning or as a reference.

Contributing

  • make changes and test things locally (see running locally)
  • submit your changes as new PRs
  • make sure to follow the Guildelines
  • all PRs will have a preview build generated automatically
  • get approving reviews for your PR
  • merge changes (all pushes get automatically deployed to the live website)

Currently all snippets are placed within /public/topics folder, in the form of <topic>/<tech>.md.

Add/modify snippets as Markdown (.md) files, exclusively. Github flavored Markdown (GFM) formatting is supported.

Adding a new tech

To add a new tech to an existing topic (i.e. add another column as an option), just create a file within /public/topics/<topic>/<tech>.md and populate it with content. Find the <tech> identifiers within /utils/techs.ts (filenames will be matched exactly with these expected identifiers).

If you don't see a technology listed, you can modify /utils/techs.ts to add a new tech and its details (this will "register" it), and then do the mentioned steps to add a file snippet.

Adding a new topic

To add a new topic, create a folder within /public/topics and add about.yml file (made based on this topic template). Then add tech files inside that folder one by one.

Running locally

This is a Next.js project (React with Typescript), hosted on Vercel. To learn more about it visit Next.js documentation.

To run things locally, use yarn and Next.js-provided scripts.

  • install dependencies by running yarn install
  • to start the development server use yarn dev (this will start listening on http://localhost:3000)

Contributor guidelines

to be defined