contradance feet
Privacy PolicyUser Agreement

What is this for?

Find regular contra dances and dance events sorted by location/distance and date, or by places (city|state) or dance name

History

The data is seeded fromTryContra.comI combineddancesandeventsusingrecurrence rules(rrule) as the glue, so that they could be searched, displayed and sorted on date or distance together.
The RRULE that was applied to the regular dances was inferred from notes. Dances that were noted to be held on Fridays with a frequency of 52, for example, were assigned a rule that shows them dancing every Friday. But others had, for example, Monday with frequence of 12, suggesting they dance once a month on a Monday, but not which Monday. In that case I guessed the 1st Monday, until that can be verified.

Frontend

  • React Next.Js and MUI (Material-UI)
  • Cute CMS © using TipTap

Backend

  • Node/Express
  • PostgreSQL
  • nginx
  • Certbot (ssl)
  • Version control: GitHub
  • Configuration managed through config.js (instead of.env).
  • DB backup on AWS S3
  • Deployed on DigitalOcean
by Richard Lanham

You can embed this on any web page, and set the initial zip code and kilometers, like this

<html>
<body>
<script async src="https://contradances.net/api/embed.js?zip=37411&kilometers=120"></script>
</body>
</html>

Or a React component

import React, { useEffect } from "react";
function Events() {
  useEffect(() => {
    const script = document.createElement("script");
    script.src = "https://contradances.net/api/embed.js?zip=37411&kilometers=120";
    script.async = true;
    document.body.appendChild(script);
    return () => {
      document.body.removeChild(script);
    };
  }, []);

  return (
    <div>
    Dances
    </div>
  );
}
export default Events;
contradance feet
The footer
About