devarchy / website

Source code of devarchy.com
http://devarchy.com
Creative Commons Zero v1.0 Universal
44 stars 8 forks source link

Documentation and use case scope? #3

Closed markerikson closed 7 years ago

markerikson commented 8 years ago

Hi. Ran across https://github.com/brillout/awesome-react-components and http://devarchy.com/react-components . Not only does the list itself look useful, the app looks very intriguing to me. I maintain two big links lists , one for React and Redux-related articles and one for Redux addons and utilities. The React/Redux list primarily points to blog posts and such, while the Redux addons list is almost entirely Github repos.

I've had a few people suggest that the Redux list could really use a way to view the stars for a repo, plus possibly sorting by stars. This repo looks like it implements that sort of capability. Would it be possible to get some further documentation / information on what the software does and how it works?

Thanks!

brillout commented 8 years ago

Hi!

I'm glad you seem to like the app.

Truthfully, I didn't expect such interest and therefore didn't write documentation.

Are you interested only in the stars, the whole frontend or only parts of the frontend?

If you want we can add your lists at e.g. devarchy.com/react-redux-links and devarchy.com/redux-ecosystem-links. Although the current sorting wouldn't make sense for react-redux-links since we wouldn't have stars nor creation date. But we could figure something out.

Your link lists are quite impressive btw!

markerikson commented 8 years ago

Hmm. I guess I'd first like to have a better idea how this tool works. I see it's got both a client and server part, and the current lists says they're "synced to" a given repo. Is it parsing the Markdown and going from there? Does it work with multiple sub-pages, or does it expect everything to be in a single Markdown file? What are the system requirements for the server?

brillout commented 8 years ago

Is it parsing the Markdown

yes with remark.

About the parse code:

and going from there?

Yes, the content of the aforementioned parsing is saved in the database. Every resource of a markdown catalog is saved in a database row. We need that to cache the readme, the stars etc. Unfortunately the GitHub API quota is quite restrictive forcing the usage of a cache, hence a server. Anyways with new changes I just pushed live (check out the new version!:)) upvotes and comments need to be persisted anyways.

The data model is defined in the schema: https://github.com/brillout/devarchy/blob/1a88692516a2e90d570fa63659d36b4001dc15c9/server/database/schema.js.

What are the system requirements for the server?

The app is based on nodejs and postgres. Currently, the code assumes unix and installed tmux and git.

I believe that's all. There are no global npm packages required.

Running ./dev.sh should then spin up the server with its frontend at localhost:8082 I can provide a database dump of devarchy.com.

brillout commented 7 years ago

@markerikson still interested or should we close the ticket?

Btw. I'd be up for merging our 2 Redux libraries into yours.

Also, is there a reason why you spread the list across several files? I find it convenient to have the whole list in one file, e.g. I can then use browser search.

markerikson commented 7 years ago

Eh, we can close this for now. I'm currently focused on trying to write blog posts on various Redux-related topics, and while I do continue to add/update links in my lists, I can live with the current Github-rendered Markdown files approach for the time being. I may revisit this at some point down the road.

As for the multiple files thing, it's like any other aspect of programming: you break things into smaller pieces so that it's easier to maintain and understand. As it is, both my articles list and addons list do need some more refactoring. For example, the "React Tutorials" page is getting bloated. In the addons list, the "Middleware" page is ginormous, and the "Reducers" and "Variations" pages need some further sub-categorization. But, I can only do one thing at a time :)

brillout commented 7 years ago

Ok :)