Welcome to the EcoHackers GitHub repository for Start Hack 2025! Our aim is to create an innovative platform that leverages data-driven decision-making. 🧑🏻💻👩🏻💻👨🏽💻👩🏼💻
We have chosen the following technologies for our implementation:
- Django (Python) – For a robust and scalable backend, handling API requests, data processing, and database interactions.
- Django REST Framework (DRF) – To create a structured, efficient, and RESTful API.
- PostgreSQL – For managing structured environmental data efficiently.
- React.js – For building an interactive and dynamic user experience.
- Tailwind CSS – For modern, responsive, and easy-to-maintain styling.
- Axios – For seamless API communication between the frontend and backend.
- GitHub – For version control and collaboration.
- GitHub Actions – For automated CI/CD processes.
- VS Code – Preferred code editor for development.
- Docker (Optional) – For containerized deployment.
The EcoHackers project aims to develop a sustainability-focused web platform that provides actionable insights using AI and data analytics. Our solution is designed to:
- Gather and analyze environmental data from multiple sources.
- Provide real-time sustainability recommendations.
- Enable seamless collaboration for eco-conscious communities and businesses.
-
Clone the repository:
git clone https://github.com/EcoHackers/start-hack-2025.git git checkout -b 'create_your_branch' -
Navigate to the project directory:
cd EcoHackers -
Backend Setup:
Create a virtual environment:
python -m venv EcoHackers
source EcoHackers/bin/activate # On Windows use `EcoHackers\Scripts\activate`Install dependencies:
pip install -r requirements.txtRun migrations:
python manage.py migrateStart the Django development server:
python manage.py runserver- Frontend Setup:
Navigate to the frontend directory:
cd frontendInstall dependencies:
npm installStart the React development server:
npm startTo maintain a structured workflow, we will use four main branches in this repository:
- API - Handles the API-related development.
- Frontend - Manages all front-end development and UI/UX design.
- Backend - Covers backend-related tasks, including database interactions.
- Draft - A general branch for testing and collaborative drafts.
Working with Branches
Switching to a Branch
git checkout <branch-name>Creating a New Branch
git checkout -b <new-branch-name>Pulling the Latest Changes from a Branch
git pull origin <branch-name>Pushing Changes to a Branch
git add .
git commit -m "Your commit message"
git push origin <branch-name>Merging Changes from Another Branch
git checkout <target-branch>
git merge <source-branch>Deleting a Local Branch (After Merging)
git branch -d <branch-name>