The code for dzcode.io, a website for Algerian open-source community.
Apps:
./web
( dzcode.io or stage.dzcode.io )- lighthouse results are in: lh.dzcode.io and lh-stage.dzcode.io
./api
( api.dzcode.io or api-stage.dzcode.io )
Packages
Make sure you have:
- Git
- Nodejs version 20 or higher (we recommend using volta over plain install or nvm)
- Docker installed and running.
- Open terminal and clone the repo:
git clone https://github.com/dzcode-io/dzcode.io.git
- Make sure you are in the project root:
cd dzcode.io
- Install dependencies:
npm install
- Run it locally by either:
npm run dev:web
npm run dev:api
npm run dev:all
- For api server go to http://localhost:7070/docs
- For web server go to http://localhost:8080
Note
In ./api
, keep in mind that you have limited calls to Github Api (60 calls per hour), the FetchService is doing a great job at caching theses calls so it doesn't unnecessarily consume Github API quota. If you wish to extend the limit from 60 to 5000, simply create a Github Personal Access Token (make sure it has Access public repositories
checked), and set it in ./api/.env
like this:
GITHUB_TOKEN=Paste_You_Token_Here
Make sure you are in the project root, then:
- run web e2e tests by:
cd web && npm run e2e:dev
To get started see the contributing guidelines.
If you use VSCode, please make sure to have a .vscode/settings.json
file with the content:
{
"files.associations": {
"*.css": "tailwindcss"
},
"prettier.configPath": "packages/tooling/.prettierrc",
"prettier.prettierPath": "./node_modules/prettier/index.cjs",
"eslint.options": { "overrideConfigFile": "packages/tooling/eslint.config.mjs" },
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always",
"source.fixAll.ts": "always"
}
}
- If you already forked the repository, please make sure your fork is up-to-date, following this simple steps.
- Please make sure your code follows the style guideline defined in this repo, for that simply run
npm run lint:fix
to ensure the conformity. This process should happen automatically whenever you commit your changes, but you can always do it manually when your Pull Request checks are failing due to linting errors.
Follow these steps.
Licensed under the MIT license (twitter: @dzcode_io).