Council Viz is an open-source project aimed at making Aberdeen City Council data more accessible to the public through intuitive visualisations and structured information. The project was developed during the Democracy Hackathon hosted by CodeTheCity in Aberdeen, with the goal of empowering citizens to engage meaningfully with local governance.
- Dynamic Data Pipeline: Collects, processes, and serves council data from Aberdeen City Council's website.
- User-Friendly Visualisations: Interactive maps and structured committee data for easy navigation.
- Category-Based Insights: Displays information categorised by committees and topics, such as housing, finance, and education.
- Intuitive User Interface: Accessible interface for citizens to explore council data.
- Node.js with Express.js: Serves dynamic endpoints for council data.
- EJS Templates: Renders dynamic web pages.
- Leaflet.js: Creates interactive maps.
- Python: Utilises BeautifulSoup for web scraping and JSON manipulation.
- JSON Storage: Structured council data in hierarchical JSON format.
-
Clone the repository:
git clone https://github.com/CodeTheCity/CouncilViz.git cd CouncilViz
-
Install Node.js dependencies:
npm install
-
Install Python dependencies:
pip install -r requirements.txt
-
Start the server:
npm start
-
Access the application at http://localhost:3000.
app.js
: Main server file for routing and backend logic.scraper.py
: Script for scraping council data and transforming it into JSON.categories.py
: Extracts and processes categories from council data.public/
: Directory containing static assets and GeoJSON files for visualisations.views/
: EJS templates for rendering dynamic pages.data/
: Contains processed JSON files such as committees and categories.
- GET
/
: Renders the homepage displaying categories.
- GET
/map
: Displays an interactive map of council wards using GeoJSON data.
- GET
/:info
: Retrieves information about specific categories. - GET
/:info/:committee
: Displays detailed information about a specific committee.
- Implement real-time data updates from council websites.
- Add more visualisation options, such as bar and pie charts.
- Expand support for additional councils and datasets.
- CodeTheCity: For organising the Democracy Hackathon and fostering innovation.
- Aberdeen City Council: For providing public data.
This project is licensed under the ISC License.
For any inquiries, please reach out to the project maintainers via the GitHub Issues Page.