CodeBuddies is a remote-first community of independent code learners who enjoy sharing knowledge and helping each other learn faster via discussions and pairing. It is free and open-sourced, and supported by open source contributors and financial backers on our Open Collective.
We are building out a new platform (codebuddies version 3 - cbv3) to replace the old website at at codebuddies.org.
The new version of the website will include features that will help users: share and recommend links to resources/tutorials find open source projects to work on form study groups collect learning paths and share them find 1-hour pair programming partners for any topic much more easily
Note: This project is currently in development
Note: The production branch of this repo is called main
to support the black lives matters movement
We expect contributors to follow our code of conduct.
The backend is a Django app that provides API endpoints that the frontend (a React app) consumes.
We have a technical decision log here, and we document technical discussions and learnings in the discussions tab.
The front-end repo is built using React and is located at github.com/codebuddies/frontend. Until a staging-api.codebuddies.org URL is live, contributors need to have this backend app running locally (localhost:8000) in order to develop on the front-end.
The backend uses Django built on top of Cookiecutter and Django Rest Framework.
We use Docker Compose to stand up local development environments, and GitHub Actions to deploy staging and production. We host on DigitalOcean and store everything in a managed PostgreSQL database.
Some core dependencies we use: djangorestframework==3.10.2 # https://github.com/encode/django-rest-framework coreapi==2.3.3 # https://github.com/core-api/python-client drf-jwt==1.13.4 # https://github.com/Styria-Digital/django-rest-framework-jwt
Please see CONTRIBUTING.MD
Ways you can get help if you're stuck or have questions: -[ ] Create a new discussion post with your question -[ ] Ask in the #codebuddies-meta channel on the CodeBuddies Slack (see: codebuddies.org/slack)
There are other ways to contribute to CodeBuddies besides making pull requests to the codebase!
You can: [x] participate in the community on Slack [x] share your feedback on GitHub issues or discussions [x] help review pull requests by checking out the branch and affirming that the expected changes are there
Big thanks to the sponsors of this project!
- Auto-reload - modify the application code in your editor of choice. As you save changes, the application should reload automatically. There should be no need to restart containers to see code changes.
- A resource datastore
- save resource
- delete resource
- update resource
- list resource
- search resources
- Resource:
- title
- description
- type
- credit
- url
- referrer
- Authentication
- Original Discussion
- CBV3 tech notes doc (note: we're moving technical discussion to the new discussion tab.
- API spec draft on Swaggerhub
- Front-end decision log
- Back-end decision log
- Crowdsourced brainstorm of problems we want to solve