Skip to content

Kotsudes/CDS

Repository files navigation

CDS — Incidents Visualization (Cloud Data Structures Project)

A Next.js application that visualizes public incident reports and related geospatial data for Paris. The project uses open datasets (notably the "DansMaRue" dataset and GeoJSON layers provided by the City of Paris) to build interactive maps, charts, and aggregated views tailored to this course project.

Features

  • Interactive map with incident overlays and heatmaps
  • Aggregated views by arrondissement, quartier, and street (voie)
  • Time and category filters, top-10 charts, and exportable API endpoints
  • Server-side API routes serving processed data and caching logic

Tech stack

  • Framework: Next.js (App Router) with TypeScript
  • Styling: Tailwind CSS
  • State & UI: React components in src/components
  • Database: MongoDB (local or managed)
  • Package manager: pnpm

Quickstart (development)

Prerequisites:

  • Node.js 20 or newer
  • pnpm (install globally with npm install -g pnpm)
  • MongoDB (local or remote)

Setup:

  1. Copy the example environment file: cp .env.example .env and fill the values.
  2. Install dependencies: pnpm install
  3. Start the development server: pnpm run dev

Open the app at: http://localhost:3000

Environment variables

Use .env.example as a reference. Typical variables include database connection strings and any API keys required for external data. Do not commit secrets.

Running in production

Build and start:

pnpm build
pnpm start

Or deploy to a platform that supports Next.js apps.

API routes

This project exposes serverless API routes under src/app/api/ that return aggregated data for UI components and external consumption. Examples include endpoints for arrondissement, quartier, voie, and declaration.

Project structure (high level)

  • src/app/ — Next.js app, pages, and API routes
  • src/components/ — React components and UI primitives
  • src/modules/ — domain models and types
  • src/services/ — API wrappers and data fetching logic
  • src/libs/database — database connection utilities

Explore the codebase to find specific handlers and utilities.

Contributing

We welcome contributions from team members. Suggested workflow:

  1. Create an issue describing the bug or feature.
  2. Create a branch named dev-<issue-number>.
  3. Open a pull request referencing the issue (e.g., resolves #<issue-number>).
  4. Use Squash and merge when approved.

Please follow existing code style and run tests (if any) before submitting.

Notes

  • This repository is part of an academic project and consumes open public datasets. Ensure you respect any usage terms from the data providers.

Contact

For questions about the codebase, contact the project maintainers or the course instructors.

About

Cloud Data Structure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors