Shomonnoy-Backend is a smart scheduling and coordination platform that helps city authorities manage and streamline road digging and construction works by multiple stakeholders without conflicts.
- Miniconda or Anaconda installed
- Python 3.11 (recommended)
- PostgreSQL installed
- PostgreSQL superuser access (to enable PostGIS)
git clone <repo-url>
cd Shomonnoy-Backendconda create -n shomonnoy python=3.11
conda activate shomonnoyconda install -c conda-forge django djangorestframework psycopg2 gdal python-decouple whitenoisepip install djangorestframework_simplejwt PyJWT sqlparse tzdata- Open
psqlor PgAdmin as a superuser (e.g.,postgres). - Create a database and user:
CREATE DATABASE shomonnoydb; CREATE USER superadmin WITH PASSWORD 'yourpassword'; GRANT ALL PRIVILEGES ON DATABASE shomonnoydb TO superadmin;
- Enable PostGIS extension (run as superuser on the database):
\c shomonnoydb CREATE EXTENSION postgis;
- Create a
.envfile in the project root (if usingpython-decouple).DB_NAME=shomonnoydb DB_USER=superadmin DB_PASSWORD=yourpassword DB_HOST=localhost DB_PORT=5432
- Update
settings.pyto read from.envand use:'ENGINE': 'django.contrib.gis.db.backends.postgis',
python manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserverVisit http://127.0.0.1:8000/admin/ to log in.
- Pull latest changes:
git pull - Create a new branch:
git checkout -b feature-branch - Make changes and commit:
git add . && git commit -m "Your message" - Push your branch:
git push origin feature-branch - Open a pull request for review.
- Never commit secrets or
.envfiles. - Use migrations for all model changes.
- Communicate via repo issues and pull requests.
- If you encounter issues with GDAL or psycopg2, always install them via conda.