{"id":17233872,"url":"https://github.com/alexandrebonneau/devsnaps","last_synced_at":"2026-05-04T04:31:24.326Z","repository":{"id":87468418,"uuid":"109317033","full_name":"AlexandreBonneau/devSnaps","owner":"AlexandreBonneau","description":"Everyday solutions to everyday dev problems","archived":false,"fork":false,"pushed_at":"2017-11-07T22:27:11.000Z","size":168,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T21:30:35.532Z","etag":null,"topics":["code","nuxtjs","snaps","vuejs","vuetifyjs","vuex"],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexandreBonneau.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-02T20:45:29.000Z","updated_at":"2023-02-16T19:27:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"34ba4409-0bd2-47fe-a409-1d0c55eb501c","html_url":"https://github.com/AlexandreBonneau/devSnaps","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandreBonneau%2FdevSnaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandreBonneau%2FdevSnaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandreBonneau%2FdevSnaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexandreBonneau%2FdevSnaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexandreBonneau","download_url":"https://codeload.github.com/AlexandreBonneau/devSnaps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245568578,"owners_count":20636803,"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":["code","nuxtjs","snaps","vuejs","vuetifyjs","vuex"],"created_at":"2024-10-15T05:27:04.072Z","updated_at":"2026-05-04T04:31:19.308Z","avatar_url":"https://github.com/AlexandreBonneau.png","language":"Vue","funding_links":["https://www.patreon.com/user?u=4810062"],"categories":[],"sub_categories":[],"readme":"# DevSnaps\n\n\u003e Everyday solutions to everyday dev problems\n\nAs a developer, I stumble upon dev problems *every single day*.\u003cbr\u003e\nMost of the time the fixes are trivial, but in some cases they need a thorough investigation.\n\nIn order to *keep track* of how I solved each of those problems, this application allows to keep track of each 'snap' of code/solution I may have encountered and used.\n\n\n## Technologies\n\nThe DevSnaps application is composed of two parts:\n- The [front-end](https://github.com/AlexandreBonneau/devSnaps) with [Vue.js](https://github.com/vuejs/vue), [Nuxt.js](https://github.com/nuxt/nuxt.js) and [Vuetify.js](https://vuetifyjs.com/) (+ [PrismJS](https://github.com/PrismJS/prism) for code highlighting), and\n- The [back-end](https://github.com/AlexandreBonneau/devSnaps-back) with Laravel's lightweight [Lumen framework](https://github.com/laravel/lumen).\n\n**This repository *DevSnaps* is the code for the front-end.**\n\n## Goal of this project\n\nThis project has been created to serve as a playground for Nuxt and Vuetify (and Lumen to some extends since it's a bit different than Laravel), and to learn from it.\n\n**Be sure to check the code and tell me what can be improved so that we could all learn from you!**\n\n## Work in progress\n\nSince this is a work in progress, the features for now are pretty bare but the roadmap for the near future includes adding the following ones:\n- [ ] Setup a demo\n- [ ] Allows the users to login with their email or their username\n- [ ] Add the 'Hot snaps' page showing the latest public snaps with the most views recently\n- [ ] Add the home page with the global data about snaps, hand picked one, etc.\n- [ ] Add the documentation page\n- [ ] Add the favorite page for each user\n- [ ] Add the my snaps page for showing all the snaps of a given user (only the public snaps when the page is not served to the author)\n- [ ] Add a 'settings' page for allowing the user to configure his profile\n- [ ] Fix the search feature in the toolbar\n- [ ] Allow creating *private* snap that only the authenticated user can see/edit\n- [ ] Allow anonymous snaps to be edited by the original user (ie. allow the user to set a snap author as anonymous, while retaining the edit permission on it).\n  - [ ] All purely anonymous snaps should then be read-only.\n- [ ] Add a way to fetch the Snap data in case of server error, without having to reload the page\n- [ ] Code refactorization\n- [ ] Add the most used pages in the toolbar as shortcuts\n- [ ] Allow users to specify/upload an avatar\n- [ ] Prevent displaying the `Edit` button on Snaps that are owned by other users\n  - [ ] Allow editing Anonymous snaps by 'forking' them\n- [ ] Fix the scrim bug when clicking outside of the remove dialog\n- [ ] Modify how snaps are retrieved from the server; Cache those and limit the number of queries to the server\n- [ ] Add a re-captcha in the sign-up process\n- [ ] Validate the user email with a confirmation link\n- [ ] Add OAuth for sign-ups\n- [ ] Use an Auth middleware\n- [ ] Add the ability for authenticated user to comment any non-private snaps\n- [ ] Add an homepage with the favorite / most viewed snaps and other info\n- [ ] Fix the favorite system so that each user can favorite whatever snap the want\n- [ ] Add a 'project' feature so that multiple snap could be aggregated for a given project\n- [ ] Add tags for easier snap searches\n- [ ] Use Elasticsearch/Algolia/Solr for better snap search results?\n- [ ] Remove all the default unused Nuxt files\n- [ ] ...and more code improvements (*Thanks to you, hopefully!*) :)\n\n## Build Setup\n\n1. Clone this repository\n```bash\ngit clone https://github.com/AlexandreBonneau/devSnaps.git\n```\n2. Install the dependencies\n```bash\ncd devSnaps\nyarn # or `npm install`\n```\n3. Launch the back-end server (you can checkout the back-end code in the [DevSnaps-back](https://github.com/AlexandreBonneau/devSnaps-back) repository)\n```bash\nyarn back\n```\n*Note: for the `yarn back` command to work, this project should be put in `~/devsnaps/front-end`, while the back should be in `~/devsnaps/back-end`*\n\n4. Launch the front-end server\n```bash\nyarn front\n```\n5. Browse your local app by opening the [http://localhost:3000](http://localhost:3000) url!\n\nDo note that the server is setup for hot reload out of the box, and that the back-end will use port `4242` for the API endpoint.\n\n## Contributing\n\nI'm open to **any** critique regarding the code, so *please* create an [issue](https://github.com/AlexandreBonneau/devSnaps/issues/new)/[pull request](https://github.com/AlexandreBonneau/devSnaps/compare) if you think any part of it can be improved!\n\n## Support\n\nI'll just leave my patreon page link here (I work on [AutoNumeric](https://github.com/autoNumeric/autoNumeric/) and [vue-autoNumeric](https://github.com/autoNumeric/vue-autoNumeric) too for instance), you never know :)\n\n[![Donate][patreon-image]][patreon-url]\n\n## Licence\n\nDevSnaps is an [MIT-licensed](http://opensource.org/licenses/MIT) open-source project, feel free to copy/edit/study its code!\n\n\n[patreon-url]: https://www.patreon.com/user?u=4810062\n[patreon-image]: https://img.shields.io/badge/patreon-donate-orange.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrebonneau%2Fdevsnaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrebonneau%2Fdevsnaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrebonneau%2Fdevsnaps/lists"}