hoodiehq / camp Goto Github PK
View Code? Open in Web Editor NEW:circus_tent: Welcome to Hoodie Camp!
Home Page: https://hoodie.camp
License: Apache License 2.0
:circus_tent: Welcome to Hoodie Camp!
Home Page: https://hoodie.camp
License: Apache License 2.0
JavaScript, git. Basics of Node.js & npm
We run into an issue with our "scoped store API". Hoodie comes with a store API in the browser that looks like hoodie.store.add({foo: 'bar'})
and hoodie.store.find('id123')
. A scoped store implicitly sets / assumes the type
property, it looks like this:
var todoStore = hoodie.store('todo')
todoStore.add({foo: 'bar'})
// creates document {foo: 'bar', type: 'todo'}
The bug that we found is that our events "add", "update", "remove" and "change" are not behaving correctly on scoped stores. See the full description here: hoodiehq/hoodie-store-client#95
We already prepared tests for this issue in this pull request, you only need to enable them and find out how to make them pass :)
npm test
test.skip
with just test
, remove the comments // prepared for ...
. Safe the file, then run npm test
. You now should see the two tests failing, as expectedtest: scoped store events
closes hoodiehq/camp#30
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-accountโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #46. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Knowledge about npm
would be helpful but are not required.
We try to integrate very tightly with npm
and its eco system. Instead of creating our own CLI tool, we want to use npm
directly. At this point we only use the npm start
script to start the Hoodie Server, in future we might want to have all kind of commands like npm start setup
, npm start console
, etc. npm start help
is a simple way to prepare the basic setup for it.
When running npm start help
, the output should be the same as npm start -- --help
. Tests are not required, but of course very much welcomed.
npm start
executes the hoodie
binary which is hoodie/bin/start.js as defined here. The source code of package-scripts might be helpful to figure out how to read out the part after npm start ...
feat: npm start help
closes hoodiehq/camp#1
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
hoodie-store
is one of the core components of Hoodieโs architecture. It integrates the Store Server and the Store Client. It has a demo built in that you can run with npm start
, it will show a html page that loads the store client for testing. This demo server is also used for testing.
For testing we use a module called frontend-test-setup, which uses selenium, webdriver, mocha and chai and start a server and then remote control real browsers to run so called end-to-end tests tests. The tests are defined in hoodie-store/test/integration.js. For example, here is the test for store.isConnected
Two tests are currently failing, see this travis build. We donโt know what change introduce the issue, but besides having a potential bug in Hoodie, having failing tests is very inconvenient as we automate our dependency updates with Greenkeeper, and each time there is an update of any dependency and the test fail, Greenkeeper starts a pull request because it thinks that the update broke hoodie-store
, while the reason for the failing test is not related to the new module at all. So we get a lot of false positives like this one.
Figure out what the issue is. It might be the tests or the implementation in hoodie-store-server
, hoodie-store-client
, pouchdb-hoodie-api
or pouchdb-hoodie-sync
.
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-store-clientโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #41. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
We created a tutorial in form of a web page that uses Hoodie & ServiceWorker to show how to build an offline app. The source code is at https://github.com/hoodiehq/hoodie-camp-tutorial, you can test it out online at https://camp-tutorial.hood.ie/.
We created this tutorial in a hurry and we are not native English Speakers, nor do we have much experience in technical writing. It would be great if you could help us by reviewing it.
Feel free to edit the pages directly on GitHub and send pull requests with suggestions. All html pages are here: https://github.com/hoodiehq/hoodie-camp-tutorial/tree/master/public, you can edit them directly in your browse (click on one of them, then click the edit icon on top right, make your change, click the button "Propose File Change" then click "Start Pull Request".
If you have any questions or have ideas, we can discuss in this issue, comment below
Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-adminโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #48. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-account-clientโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #40. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue. Itโs reserved for participants of EmpireJS OSS Night or NYC, Meet the Hoodies!
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
English, knowledge of markdown isn't necessary but it helps.
The Hoodies (Gregor, Nick, Jenn, Nathan, Nolan) are in NYC this week for EmpireJS and we need to write a blog post about the different events!
We need a contributor to write a brief synopsis about the event and/or gather some photos of the event.
Also if there are links from mentions on Twitter (from talks or hack events) please include those!
To take on this blog post:
comment below to claim or assign yourself
)hoodiehq/hood.ie
repo here.Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
Hoodie is a generic backend for your application, but also provides a few UIs (html pages) out of the box. There is /hoodie/account, /hoodie/store and /hoodie/admin at this point.
What could we show at /hoodie/account
? Every Hoodie Server will have this page. Maybe something like the Account Page of our Tracker Example app?
The current placeholder page is at https://github.com/hoodiehq/hoodie-account/blob/master/public/index.html. But we can also implement more sophisticated UIs with a single page application. Everything is possible right now :)
This is not really a bug that needs to be fixed or a feature that needs to be implement, but an invite for a discussion. Please ask all your questions here, we are looking forward for your thoughts! Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/pouchdb-hoodie-apiโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #42. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
The current tutorial is empty: http://docs.hood.ie/camp/tutorials/, the docs for the old Hoodie are at http://docs.hood.ie/en/tutorials/. It would be great if we could update it for the new Hoodie. Maybe helpful to see what APIs changed is the diff from the current migration of our Hoodie Skeleton App
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
JavaScript, Node.js. Although this is code that runs in the browser, it looks like Node.js code and can be tested with node only.
hoodie.account.on('signout', function () {
alert(hoodie.account.isSignedIn()) // true, should be false
})
hoodie.account.signOut()
You can run the code on https://tracker.hood.ie/ โ create an account, then open the console, paste it in and run it.
hoodie.account.isSignedIn()
should return false in the 'signout'
event handler.
closes hoodiehq/camp#9
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
We have documentation on how to deploy the old Hoodie to a linux server at https://github.com/hoodiehq/documentation/blob/gh-pages/en/deployment/linux.md. For the new "Camp Release", a lot has changed (and got simpler we hope), so the docs need to be updated. The current version is at http://docs.hood.ie/en/latest/guides/deployment.html.
It would be nice to have docs on how to deploy an app based on the new Hoodie to Linux. We have setup continous deployment for our Hoodie Tracker example app, docs are here: https://github.com/hoodiehq/hoodie-app-tracker/blob/master/deployment.md โ maybe thatโl help?
up for grabs
label with in progress
.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/pouchdb-hoodie-syncโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #43. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
JavaScript, Node.js. Knowledge about npm
would be helpful but are not required.
We try to integrate very tightly with npm
and its eco system. Instead of creating our own CLI tool, we want to use npm
directly. At this point we only use the npm start
script to start the Hoodie Server, in future we might want to have all kind of commands like npm start setup
, npm start console
, etc.
When running npm start setup
, the Hoodie Server should not get started. Instead the following things should happen:
README.md
unless it already exists. Put in dummy content for nowpackage.json
to "hoodie"
(see setup instructions)hoodie
executes the binary which is hoodie/bin/start.js as defined here. Instead of calling the cli
function, check if the setup
argument was passed and if yes, do the setup as described :) A first step (and commit) could be a console.log('setup')
, to get a pull request going.feat: hoodie setup
closes hoodiehq/camp#2
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Maybe some hapi but shouldnโt be too much.
Hoodie as a page that is displayed at /hoodie
. Itโs not very helpful at this page, but weโll get there :) Hereโs how it currently looks like: https://tracker.hood.ie/hoodie/
The same html page is shown at the /
root path if your app has no public/
folder. But we want to differentiate between these two cases, as they have two different use cases.
If your app has no public/
folder, the Hoodie Server should show a fallback UI. When opening /hoodie
in your app, the server should show the contents of hoodie/public.
public/
folder is currently implemented in hoodie/server/config/index.js feat: Hoodie default UI
closes hoodiehq/camp#8
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Although this is code that runs in the browser, it looks like Node.js code and can be tested with node only.
Setup https://github.com/hoodiehq/hoodie-app-tracker
git clone https://github.com/hoodiehq/hoodie-app-tracker.git
cd hoodie-app-tracker
npm install
npm start
Open http://localhost:8080/hoodie/admin. Sign in with "secret"
unless youโve setup an admin password (donโt worry if not).
Ceate a user account by running this code in your console
hoodieAdmin.accounts.add({username: 'foo', password: 'bar'})
Reload the page, it should now appear at /hoodie/admin
Now Paste this code in the browser console, watch your network tab in developer tools
hoodieAdmin.sessions.add({username: 'foo'})
See the Network requests as *.har file at https://gist.githubusercontent.com/gr2m/cad2dc6c39cbdd4098b753ab15e54510/raw/ecd9c801529c475e186a631b90ea2311424ba6b3/camp-issue-11-requests.har. You can downdload it and then upload to https://ericduran.github.io/chromeHAR/ for a webviewer.
When signed in as admin (hoodieAdmin.isSignedIn()
returns true
), hoodieAdmin.sessions.add({username: 'foo'})
should create a user session as documented in https://github.com/hoodiehq/hoodie-account-client/tree/master/admin#adminsessionsadd.
test: admin.sessions.add({username}) fails with "Not Found"
. If you get stuck, feel free to push your work in progress, donโt worry about commit messages, we can clean up things before we merge your work.closes hoodiehq/camp#11
in the description.fix: admin.sessions.add({username}) fails with "Not Found"
in progress
label with ready
. Ask in comments for a review :)For a bonus, check out all the other methods that require the admin to be signed in. I think e.g. admin.accounts.findAll()
are affected, too.
Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js, some hapi. Knowledge about browserify would be helpful but are not required.
The Hoodie Client is a JavaScript library that gets loaded in the browser using a <script src="/hoodie/client.js>
tag, just like jQuery. But unlike jQuery a Hoodie Client is always specific to its Hoodie Server, and must therefore be generated dynamically. We currently do that on every server start, which is quite resource intensive. Sometime the client doesnโt get loaded from server but is bundled into the frontend app, in that case it doesnโt need to be bundled at all.
Bundle the Hoodie Client the first with the first GET /hoodie/client.js
request. Queue up all following requests until itโs generated and stored in .hoodie/client.js
.
The logic for that is currently in hoodie/server/bundle-client.js, it gets required in hoodie/server/index.js
up for grabs
label with in progress
./hoodie/client.js
route is implemented in hoodie/server/plugins/public.js. We might want to move the logic for the hoodie client paths into an own plugin, maybe hoodie/server/plugins/client.js
?feat: bundle /hoodie/client.js on demand
closes hoodiehq/camp#5
in the description./hoodie/client.min.js
, /hoodie/admin/client.js
and /hoodie/admin/client.min.js
, but we can also create follow up issues for it.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Although this is code that runs in the browser, it looks like Node.js code and can be tested with node only.
A URL is required to initialise the Account Client. But instead of requiring to pass in an object with a .url
property, we want to allow to pass in a string as a shortcut, so these two would be equivalent:
test: new Account(url)
. If you get stuck, feel free to push your work in progress, donโt worry about commit messages, we can clean up things before we merge your work.feat: new Account(url)
new AccountAdmin(url)
. See hoodie-account-client/admin/index.js and hoodie-account-client/test/integration/admin-constructor-test.js. If not we can do a follow up issue for this onein progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-store-serverโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #38. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-connection-statusโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #44. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Although this is code that runs in the browser, it looks like Node.js code and can be tested with node only.
Setup https://github.com/hoodiehq/hoodie-app-tracker
git clone https://github.com/hoodiehq/hoodie-app-tracker.git
cd hoodie-app-tracker
npm install
npm start
Run this code in your console
hoodieAdmin.signOut()
When not signed in, hoodieAdmin.signOut()
should reject with UnauthenticatedError: Not signed in
UnauthenticatedError: Not signed in
to the "rejects with" tabletest: admin.signOut() throws error when signed out
. If you get stuck, feel free to push your work in progress, donโt worry about commit messages, we can clean up things before we merge your work.fix: admin.signOut() throws error when signed out
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who
did not yet contribute to Hoodie to work on this issue. Follow
@YourFirstPR on Twitter for more of
these issues across many open source projects :)
Node.js
Once your Hoodie app reaches a billion user accounts, the likability of id conflicts becomes to high. So before you build the next Facebook with Hoodie, letโs fix this first ;)
The current implementation is here: https://github.com/hoodiehq/hoodie-account-server/blob/master/api/accounts/add.js#L13-L15. It uses 12 random hex characters.
What we think makes sense is to follow the convention, see https://en.wikipedia.org/wiki/Universally_unique_identifier.
fix: UUID for account id
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
JavaScript, Node.js.
Hoodie can run in an "in memory" mode, meaning that it doesnโt persist any data to the hard drive. All data vanishes when the server stops. This is great for testing, and for quick deployments to read-only systems like Heroku or now.
But even when run in memory, the Hoodie Server still writes .hoodie/config.json
and .hoodie/client.js
, which is causing issues in read-only systems and is unexpected behavior.
When started with npm start -- --inMemory
no files should be written at all. The Hoodie client can be kept in memory after bundling and not written to the hard drive. And the .hoodie/config.json
file should not be written at all. But if it exists, Add a log.info("Configuration read from .hoodie/config.json")
(with the right dynamic path.
Currently the .hoodie/config.json
is written when the server secret is generated, see hoodie/server/config/db/pouchdb.js . But when run in memory, that doesnโt make any sense as there is no initial data like user accounts. The server secret is used to calculate session IDs, but all existing sessions get invalidated on restart as all accounts vanish.
feat: donโt write files when run in memory
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-account-serverโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #37. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
Is it possible to enable https for github pages?
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
You should be experienced with JavaScript, Node.js and testing. Some knowledge about hapi.js will help, but wonโt be required.
Hoodie is very modular. Currently the options passed to the server modules are not coherent. For example, hoodie accepts options.db
, hoodie-server accepts options.PouchDB
and hoodie-account-server accepts options.usersDb
. We want to normalise these options across all server modules.
The server modules all interact with a database in one way or another, for which we use PouchDB. Currently, hoodie-account-server
accepts options.usersDb
which is a PouchDB instance, and then internally gets PouchDB from its constructor at plugin/index.js#L23. What we want instead is that the register functions defined in plugin/index.js
accepts options.PouchDB
, and the users database should be initialised in there instead of outside of the plugin.
up for grabs
label with in progress
.plugin/index.js
, make sure it passescloses hoodiehq/camp#52
in the description.node_modules/.bin/tap tests/integration/api/accounts-test.js
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-clientโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #39. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-serverโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #36. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
Hoodie is a generic backend for your application, but also provides a few UIs (html pages) out of the box. There is /hoodie/store, /hoodie/account and /hoodie/admin at this point.
What could we show at /hoodie/store
? Every Hoodie Server will have this page. For example we could display some kind of generic tables, showing all data by the current user. We could dynamically read out what types of data the user stored and show tabs for different tables. We could provide an export button so a user of a hoodie app can export their data at anytime. We are looking forward to your thoughts.
The current placeholder page is at https://github.com/hoodiehq/hoodie-store/blob/master/public/index.html. But we can also implement more sophisticated UIs with a single page application. Everything is possible right now :)
This is not really a bug that needs to be fixed or a feature that needs to be implement, but an invite for a discussion. Please ask all your questions here, we are looking forward for your thoughts! Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue. Itโs reserved for participants of OSCON Contribute until May 20th, 2016.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
Strong command of English language/grammar. Knowledge of code (JavaScript, Node.js) is not essential, but helpful.
Proofread and suggest corrections to the new Camp documentation found here: http://docs.hood.ie/camp/.
Finding typos, formatting errors, etc. โ any small error that might distract a new contributor when trying to learn from the new documentation.
Helpful resource: our glossary of commonly used terms. Double check your references to popular tech lingo here.
ready
label with in progress
.Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue. Itโs reserved for participants of OSCON Contribute until May 20th, 2016.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
English, knowledge of markdown is great, but not required!
On May 18, @gr2m will be hosting a new open source event at OSCON in Austin, Texas, to introduce new contributors to Hoodie! ๐ ๐ถ
We need a contributor to write a brief synopsis about the event and/or take some photos if onsite.
Also if there are links from mentions on Twitter or to new features/first time PRs please include those!
Helpful resource: our glossary of commonly used terms. Double check your references to popular tech lingo here.
To take on this blog post:
comment below to claim or assign yourself
)hoodiehq/hood.ie
repo here.Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This one is challenging. I tried it myself a few months ago and failed. You should know the JavaScript Event Loop, understand why an immediately resolved Promise and process.nextTick()
do not call their callbacks always in the same order, ideally find a way to change that or a work around.
We once had a very simple, beautiful solution for events in pouchdb-hoodie-api: we started listening to PouchDBโs changes feed and used that to emit add
, update
and change
events. But then we hit hoodiehq/pouchdb-hoodie-api#54 which caused a timing issue, and after trying for a while to work around the problem while still using the changes feed, we eventually gave up. Instead of listening to the changes feed, we wrap all our methods and emit events manually, see changes here: https://github.com/hoodiehq/pouchdb-hoodie-api/pull/56/files
Another problem with just using .changes()
is that we cannot differentiate between changes coming from remote (via sync) or changes created locally.
But we feel there is a better way, and itโs worth looking for it, it would remove a lot of complexity. And whoever finds a solution for this, gets a special Hoodie treat that Iโll have to make up first, but I promise it will be something nice <3
๐ Claim this issue: Comment below
Please only claim if you want to start working on it during the event.
Once claimed we add you as contributor to this repository.
๐ Accept our invitation to this repository. Once accepted, assign yourself to this repository
๐ Please review our Code of Conduct
In a nutshell: be patient and actively kind
Setup the hoodie repository locally and make sure that all tests pass
Find a solution ๐
Start a Pull Request. Mention closes hoodiehq/camp#13
in the description.
You donโt need to be finished to start the PR, Iโd suggest to start it as soon as possible so we can discuss different approaches and collaborate on it
Done ๐ Replace the in progress
label with ready
. Ask in comments for a review :)
Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
Hoodie is a generic backend for your application, but can also serve your static html application. The latter is not required, itโs a common use case that people run their Hoodie Server somewhere like https://myhoodieapp.com` and the static app is served directly from GitHub pages or surge.s or another hoster for static apps. In that case, when opening the URL of the Hoodie Server should show some generic fallback UI.
What could we show in this generic Hoodie UI? Maybe the version? Maybe an explenation of what it is? Maybe link to the other generic UIs at /hoodie
, /hoodie/account
and /hoodie/store
? Maybe we should directly show the admin UI that is usually at /hoodie/admin
? We are open for ideas
This is not really a bug that needs to be fixed or a feature that needs to be implement, but an invite for a discussion. Please ask all your questions here, we are looking forward for your thoughts! Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-admin-clientโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #49. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
hapi
is a server plugin that we use for all of Hoodieโs server bits. good
is a hapi plugin for logging. We use npmlog for setting the log level and for logging warnings, errors etc. We combine the two at https://github.com/hoodiehq/hoodie/blob/master/server/plugins/logger.js.
A new version of good has been released a while ago, and we did not yet managed to update to it. The API has changed.
up for grabs
label with in progress
.npm start -- --inMemory --loglevel=info
. You should see info log 2016-10-02T01:08:45.320Z [ 'hapi' ] hoodie core plugins registered
npm install [email protected] --save
good
for the new version. See the Good 7.0.0 Release Notes.[email protected]
or whatever you like :)in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
The MapChat App is an example application we built quite a while a go for the old Hoodie. As our Camp Release is about to come out we would like to update it to the latest hoodie. We also use it for a tutorial and would like to update it for the new release, see http://docs.hood.ie/camp/tutorials/map-app.html
closes hoodiehq/camp#10
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you trough the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-storeโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #47. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
You do not need to know any coding, git or GitHub. Google Docs is perfectly fine for editing, we can take it from there :)
You should have experience with writing and agree that stickers are just the best thing ever. Review our blog to get an idea of what we are looking for, and have a look at our blog process.
More from Agnese from unixstickers:
Besides, a few more info: weโre up and running since 2010, we began small but weโre now the main e-commerce based on FOSS swag (and not only on that). Our HQ is in Italy (Bologna) but we ship worldwide and are mostly known abroad, especially in the US.
The reason why we decided to donate back to our community is actually simple. As stated in the donation program post, our business wouldnโt exist without the FOSS projects and the communities around them, thus we felt both the need to support them and at the same time to be an active part of their communities.
Two things we have not yet announced (so keep it between us :)) but want to do so in form of a blog post:
I know itโs very short term :( but we want to publish a blog post on Monday if possible
up for grabs
label with in progress
.closes hoodiehq/camp#THIS_ISSUE_NUMBER
in the description.in progress
label with ready
. Ask in comments for a review :)Stickers!
Section to Hoodieโs README file with the image below linked to our shop :)Ping us in the Hoodie Chat or on Twitter
We aim to be one of open source's most diverse and inclusive communities. One way we try to live up to that ideal is to acknowledge that code contributions are only one part of a healthy Open Source community, hence the different teams in Hoodie: Code, Design, Documentation and Editorial, all equally important. And we are open to add more teams in future as we grow. Everyone who wants to contribute to Hoodie should feel they belong, no matter their talent and interests.
Each team should have full control of what to present on their respective team pages. Each team should introduce their mascot, the teamโs objective and the people who are currently in charge and what their responsibilities are, but beyond that itโs entirely up to them.
app/templates/teams/:name.hbs
files/teams/code
/teams/editorial
/teams/documentation
and /teams/design
have currently no team leads. Create the pages with content as far as possible, make clear that we are looking for a team lead respectively and what their responsibilities would be. Show issues for both teams.This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Knowledge about npm would be helpful but are not required, youโll figure it out as you go :)
100% code coverage makes sure that every single line of code is covered by tests. And it looks pretty cool once we have all the ๐ฏ for all modules in Hoodieโs Architecture
up for grabs
label with in progress
.node_modules/.bin/nyc report --reporter=lcov
coverage/lcov-report/index.html
. It will look something like this: node_modules/.bin/tap tests/integration/api/accounts-test.js
closes hoodiehq/camp#53
in the description.in progress
label with ready
. Ask in comments for a review :)Coordinate with #52 as we need to write a test for plugin/index.js
, to avoid duplicated work :)
Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
How to add/edit entries for Wikipedia, as noted here Your first article and Article development.
There's no Wikipedia entry for Hoodie.
Create an entry for Hoodie! ๐ถ
up for grabs
label with the ready
label and ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
Photoshop or equivalent photo-editing software.
A good time to start promoting the Camp Release, as we will host a hackathon as part of EmpireJS week: https://ti.to/hoodie/nyc-meet-the-hoodies-3
Here are source files for a super nice Hoodie Camp illustration: https://www.dropbox.com/sh/ulympy8huj3asnf/AAAPCmgYhio0hATsSLTsEFfHa?dl=0 โ shall we use that in the Twitter header? Maybe replacing the current image entirely, or just a few squares as we did in hoodiehq/editorial#60?
We could also update the avatar to remove the hat :) Birthday is over. Here is Low Profile dog without the hat: https://dl.dropboxusercontent.com/u/732913/hoodie/low-profile-dog.png
Would be great if someone could help with it. Any objections?
Promote Hoodie Camp at EmpireJS! ๐
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue. Itโs reserved for participants of OSCON Contribute until May 20th, 2016.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. Knowledge about npm would be helpful but are not required, youโll figure it out as you go :)
100% code coverage makes sure that every single line of code is covered by tests. And it looks pretty cool once we have all the ๐ฏ for all modules in Hoodieโs Architecture
up for grabs
label with in progress
test: 100% coverage
. If you have blockers commit with test: coverage
and move on, we can discuss details in the pull requestcloses hoodiehq/camp#4
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
JavaScript, Node.js. See also #1 and #2 if we have aliases in place, then we can also support npm start console
as alias for npm start -- console
Rails has it and we think itโd be pretty cool for Hoodie, too. It would be great to quickly send queries to the database using simple JavaScript methods.
npm start -- console
starts the Hoodie Server in the background and a REPL with a pre-initialised HoodieAdmin Client instance and logged in as admin. All instance methods are directly accessible (without signIn, signOut, isSignedIn, username), so you can do things like
> accounts.findAll()
the REPL would see that a promise got returned, show a loader, then either show the error or what ever the promise resolved with in the best way possible, e.g. a table in this case
up for grabs
label with in progress
.feat: npm start -- console
closes hoodiehq/camp#7
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
This is a starter issue.
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you ๐ Read more about First Timers Only
If you havenโt yet, sign up for Hacktoberfest to earn an exclusive T-Shirt. Plus Iโm sure we can teach you a cool trick or two in the process
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process
GitHub recently released a new feature which shows the repositoryโs license on the overview page. While all of Hoodieโs repositories have a License (Apache-2.0), it is not displayed on the overview. The reason is that our LICENSE
files are missing a few parts.
The license should be displayed on hoodiehq/hoodie-logโs overview page like it is displayed on the hoodiehq/hoodie repository
up for grabs
label with in progress
.chore(LICENSE): use standard Apache V2.0 text
LICENSE: use standard Apache V2.0 text
and set description to `closes #45. There are two ways how you can start a pull request:
in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
Hoodie is a generic backend for your application, but also provides a few UIs (html pages) out of the box. These are /hoodie
where we want to show some generic information about Hoodie or what ever makes sense. There is also /hoodie/store and /hoodie/account
What could we show at /hoodie
? Every Hoodie Server will have this page. The current placeholder page is here: https://github.com/hoodiehq/hoodie/blob/master/public/index.html, you can see it in action at https://tracker.hood.ie/hoodie/
This is not really a bug that needs to be fixed or a feature that needs to be implement, but an invite for a discussion. Please ask all your questions here, we are looking forward for your thoughts! Ping us in the Hoodie Chat or on Twitter if you have any questions :)
You should be experienced with JavaScript, Node.js and testing. Some knowledge about hapi.js will help, but wonโt be required.
Hoodie is very modular. You can use the main hoodie module standalone or as hapi plugin. Currently the options passed to the server modules are not coherent. For example, hoodie accepts options.db
, hoodie-server accepts options.PouchDB
and hoodie-account-server accepts options.usersDb
. We want to normalise these options across all server modules.
The server modules all interact with a database in one way or another, for which we use PouchDB. Currently, hoodie
accepts options.db
and turns in internally into options.PouchDB
in server/index.js#L19-L59. What we want instead is that the register functions defined in server/index.js
accepts options.PouchDB
, and all the code should live in cli instead.
So make sure to not just rename the option itself, but also adapt the code accordingly :)
up for grabs
label with in progress
.closes hoodiehq/camp#51
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter
This is a starter issue.
We would like to take the opportunity to invite someone who did not yet contribute to Hoodie to work on this issue. Follow @YourFirstPR on Twitter for more of these issues across many open source projects :)
This issue depends on #2.
JavaScript, Node.js, npm post script hooks (see postinstall)
Currently, setting up hoodie takes 2 steps:
npm install --save hoodie
"start"
script to "hoodie"
We want to get rid of the 2nd step :)
Run the setup from #2 in "postinstall", but only if the install command is
npm install --save hoodieor
npm i -S hoodie, not for e.g.
npm install`
up for grabs
label with in progress
."postinstall"
script to "npm start setup"
but somehow with an extra check, so that it only runs if the original command was npm start setup
or npm install --save hoodie
(or using one of the aliases like i
for install
)feat: run setup on npm install --save hoodie
closes hoodiehq/camp#3
in the description.in progress
label with ready
. Ask in comments for a review :)Ping us in the Hoodie Chat or on Twitter if you have any questions :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.