{"id":13850177,"url":"https://github.com/amilner42/code-tidbit","last_synced_at":"2025-07-12T21:33:20.390Z","repository":{"id":99805914,"uuid":"76888144","full_name":"amilner42/code-tidbit","owner":"amilner42","description":"Share Programming Knowledge Better ","archived":true,"fork":false,"pushed_at":"2018-12-21T01:30:42.000Z","size":1834,"stargazers_count":9,"open_issues_count":30,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-05T20:31:54.929Z","etag":null,"topics":["elm","express","meen-stack","mongodb","nodejs"],"latest_commit_sha":null,"homepage":"","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amilner42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-19T18:47:02.000Z","updated_at":"2024-07-08T01:50:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"d26f37af-e72c-4b3c-b4f1-60ddd7773c47","html_url":"https://github.com/amilner42/code-tidbit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amilner42%2Fcode-tidbit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amilner42%2Fcode-tidbit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amilner42%2Fcode-tidbit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amilner42%2Fcode-tidbit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amilner42","download_url":"https://codeload.github.com/amilner42/code-tidbit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225839485,"owners_count":17532305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elm","express","meen-stack","mongodb","nodejs"],"created_at":"2024-08-04T20:01:00.710Z","updated_at":"2024-11-22T03:30:51.261Z","avatar_url":"https://github.com/amilner42.png","language":"Elm","funding_links":[],"categories":["Elm"],"sub_categories":[],"readme":"# Code Tidbit\n\n**NOT UNDER ACTIVE DEVELOPMENT**\n\n\u003e [ PROJECT STATUS UPDATES ]\n\u003e\n\u003e October 27th, 2017\n\u003e\n\u003e CodeTidbit is no longer being hosted on codetidbit.com, I unfortunately don't\n\u003e have the money to keep it running, and I don't have the time to keep working on it as\n\u003e I'm back in school and finishing my degree. If you're interested in forking the project\n\u003e or donating to help the keep project online, please contact me. A small donation could\n\u003e go a long way to keeping this project alive. Together we can make sharing code knowledge more\n\u003e effective!\n\u003e\n\u003e April 22nd, 2018\n\u003e\n\u003e I'm still in school but will have a bit of time this summer to continue working on\n\u003e CodeTidbit. I probably won't put it back online but I will continue adding features.\n\u003e\n\u003e December 20th, 2018\n\u003e\n\u003e I probably won't be working much more on this app, I have other ideas that take priority.\n\u003e I don't think this idea will reach fruition.\n\n\u003e [WARNING]\n\u003e\n\u003e This was created when Elm was newer and ideas about how to structure apps were still being developed.\n\u003e This codebase uses a component-centric approach, which is not at all ideal in Elm.\n\u003e I'll be updating my [meen kickstarter](https://github.com/amilner42/meen-kickstarter) to reflect a better\n\u003e approach to developing in Elm, which is more [data structure oriented](https://www.youtube.com/watch?v=x1FU3e0sT1I).\n\u003e For this reason, **I do NOT recommend using this codebase as a guide**.\n\n\n### Set Up\n\n##### Local Dependencies\n\nThe project only has 3 local dependencies, `node` and `npm`, and `mongodb`.\n  - node ~ V6.0.0\n  - npm ~ V3.10.3\n  - mongodb ~ V3.2.9\n\nYou don't _need_ these versions, but it's more likely to work properly if at least the major versions are correct.\n\n##### Project Dependencies\n\n```bash\n# Npm install has hooks to install extra dependencies (elm packages + typings).\ncodetidbit: cd backend;\nbackend: npm install;\nbackend: cd ../frontend;\nfrontend: npm run reinstall;\n```\n\n### Developing\n\nCurrently everything works though npm scripts. It's best to use 2 terminals when developing, one for the frontend and\none for the backend (this keeps STDOUT less jumbled).\n\nTerminal 1\n```bash\n# This will watch for changes and restart the server automatically.\ncd backend;\nnpm start;\n```\n\nTerminal 2\n```bash\n# This will watch for changes and live-reload the browser.\ncd frontend;\nnpm start;\n```\n\n##### IDE\n\nI use Atom (auto-completion on frontend and backend!). Plugins:\n  - elmjutsu : A combination of elm goodies wrapped up in one plugin.\n  - elm-format : Allows you to run elm-format on save, very convenient.\n  - atom-typescript : the only typescript plugin you will ever need.\n\n##### Contributing\n\nIf you'd like to help work on CodeTidbit, it's worth shooting me an email\nfirst (amilner42@gmail.com) and I can definitely help figure out what\nyou should do.\n\nYou're absolutely free to fork this project and do things your own way\nas well (I encourage it!), but it is licensed under the GPL3.0 so you\nmust keep your modifications/extensions open source as well.\n\n### Production\n\n##### Backend\n\nCurrently the backend does not build to different targets, it takes in\nconfiguration through flags, so build it normally and then just call it\nin prod mode with the required flags.\n```bash\n# Note that you must be in the `backend` directory when building the backend.\nbackend: npm run build;\nbackend: node ./lib/src/main.js --mode=prod --is-https=... --port=... --db-url=... --session-secret-key=...\n```\n\nIt will throw an error if you forget to pass the required flags and you ran in \"prod\" mode.\n\n##### Frontend\n\nThe frontend needs to be compiled to static files so it builds to different targets.\nIt's all built with [webpack 2.x](https://webpack.js.org/concepts/), to build for production do:\n\n```bash\n# Note that you must be in the `frontend` directory when you build the frontend.\nfrontend: npm run build;\n```\n\n### Project File Structure\n\nLet's keep it simple...\n  - frontend in `/frontend`\n  - backend in `/backend`\n\nAs well, the [frontend README](/frontend/README.md) and the [backend README](/backend/README.md)\neach have a segment on their file structure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Familner42%2Fcode-tidbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Familner42%2Fcode-tidbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Familner42%2Fcode-tidbit/lists"}