|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|👩💻👨💻 Awesome cheatsheets for popular programming languages, frameworks and development tools. They include everything you should know in one single file.|
|Cookiecutter Django||10,306||1||a day ago||5||January 15, 2018||108||bsd-3-clause||Python|
|Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.|
|Recipes||3,865||3 days ago||261||other||HTML|
|Application for managing recipes, planning meals, building shopping lists and much much more!|
|Linkding||3,067||9 days ago||80||mit||Python|
|Self-hosted bookmark service|
|Gerapy||2,906||8||a month ago||47||December 30, 2021||54||mit||Python|
|Distributed Crawler Management Framework Based on Scrapy, Scrapyd, Django and Vue.js|
|Viper||2,796||a month ago||14||bsd-3-clause|
|Redteam operation platform with webui 图形化红队行动辅助平台|
|Ownphotos||2,687||3 months ago||90||mit||Jupyter Notebook|
|Self hosted alternative to Google Photos|
|Seedstars Labs Base Django React Redux Project|
|Misago||2,287||a day ago||73||gpl-2.0||Python|
|Misago is fully featured modern forum application that is fast, scalable and responsive.|
|Shynet||2,148||25 days ago||40||apache-2.0||Python|
|Modern, privacy-friendly, and detailed web analytics that works without cookies or JS.|
The client and server code for the web platform on https://climateconnect.earth.
Climate Connect depends on PostgreSQL/PostGIS and Redis.
We use Python/Django for our backend and Next.js for the frontend.
Note: we use Python 3, so for all instructions we assume
First, clone the GitHub repository
git clone https://github.com/climateconnect/climateconnect
VSCode Dev Containers allow deploying a development environment including using Docker independent of the host operating system or installed programs.
Make sure you have the Remote Development Extension Pack VSCode extension installed.
Open the repo in VS Code
Start Docker (if it's not running)
Run the command "Reopen in Container"
Wait for it to be done setting up the Dev Container and running the setup scripts. This will take 1-5 minutes the first time and 10 seconds after that. It should look something like this:
Start the frontend dev server using
cd frontend && yarn dev
Start the backend server using
cd backend && make start. If you get a "Django is not installed" error run
Cmd+Shift+P) "Select Python interpreter" -> Recommended so it uses the Python venv.
You can get a Redis REPL using
redis-cli -h redis and a PostgreSQL REPL using
If you can't or don't want to use VS Code dev containers, follow the steps below.
CREATE EXTENSION postgis;.
You will connect to this for your local backend project.
Supply these values to your local
We use Docker to run the local Redis server. See the Docker install docs if you don't have it.
Make sure to install docker-ce, docker-ce-cli, containerd.io, and docker-compose.
make installto install all backend libraries.
.backend_envto set environment variables.
openssl rand -base64 32to create a 32 char random secret.
make migrateto run Django migrations.
python manage.py createsuperuser
sudo docker-compose up. This will start a Redis server on Docker.
celery -A climateconnect_main worker -l INFO
If test data is needed, run
python manage.py create_test_data --number_of_rows 4
If you need to wipe your local database and start over, run
sudo -u postgres psql # note this might differ slightly in name based on your postgres setup
And then at the
to show available databases. Once you've identified the Climate Connect database name (e.g. we'll call it
$DATABASE_NAME), you can,
postgres-# \connect $DATABASE_NAME $DATABASE_NAME-# \dt $DATABASE_NAME-# DROP SCHEMA public CASCADE; $DATABASE_NAME-# CREATE SCHEMA public; $DATABASE_NAME-# \q
to update your migrations, and
python manage.py createsuperuser
to re-create a super user to be used in the Django admin panel.
For unit tests, to run the test suite use:
Or a specific test file or test class:
python manage.py test <file_path> or <file_path + class_name>
For linting, we use flake8. Lint with
For formatting, we use Black. Format a specific file with
make format path_to_file
or a directory with
make format directory
More configuration for Black can be found in the
yarnto download all npm packages.
.envfile for frontend environment variables. You can find variables you need to set in
For local development, use the following for
API_HOST="localhost" API_URL="http://127.0.0.1:8000" BASE_URL_HOST="localhost" SOCKET_URL="ws://localhost" ENVIRONMENT="development"
Note: This is for people who are using newer version of node (v17.0.1) or have new apple M1 devices. Before running
yarn dev, please run this command
export NODE_OPTIONS=--openssl-legacy-provider. You can save this in your
~/.zshrc file as well.
yarn dev to spin up the Next.js app! Check out our frontend (FE) code style guidelines wiki to follow codebase best practices and contribute to a healthy and maintainable codebase.
For unit tests, we use Jest. Write test files with
.test.js and execute them directly with
yarn jest path/to/testfile.test.js
For linting, we use
eslint. Watch files to fix lint issues with
For formatting, we use
prettier. Format with
See npm scripts in
package.json for more.
You can analyze size of the (frontend) bundle with
Currently the project is utilizing credits to deploy onto Azure. That deployment utilizes the two scripts in the root of the project,
ENVIRONMENTenv variable is set to
productionwhen deploying to the production server