feat: add homepage for Overpass API service

Introduced a new landing page under the project "Overpass by Private.coffee" to provide information on the Overpass API service. The page includes sections on terms of use, privacy policy, and best practices to ensure users are well-informed about service usage and compliance requirements. Also added CSS for basic styling.

This enhancement improves user engagement and provides clear guidance on using the API effectively.
This commit is contained in:
Kumi 2024-07-13 16:54:00 +02:00
commit 86ac662bc7
Signed by: kumi
GPG key ID: ECBCC9082395383F
2 changed files with 425 additions and 0 deletions

303
index.html Normal file
View file

@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overpass by Private.coffee</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<header>
<div class="container">
<h1 class="logo">Overpass <span>by Private.coffee</span></h1>
<nav>
<ul>
<li><a href="index.html" class="active">Home</a></li>
<li><a href="https://private.coffee">About us</a></li>
<li>
<a href="https://private.coffee/membership.html">Support us</a>
</li>
</ul>
</nav>
</div>
</header>
<section id="hero">
<div class="container">
<div class="hero-content">
<h2>Welcome to <strong>Overpass</strong></h2>
<p class="tagline">
A free and unlimited Overpass instance, now managed by
Private.coffee.
</p>
<a href="#about" class="button">Learn More</a>
</div>
</div>
</section>
<section id="about">
<div class="container">
<h2>Get Started with Overpass</h2>
<p>
Use our endpoints in any project requiring access to OpenStreetMap
data, including commercial use. No registration needed, just point
your application to our endpoint and start using the service!
</p>
<div class="features">
<div class="feature">
<h3>Unlimited Access</h3>
<p>
Enjoy free and unlimited access to all features without any rate
limits. We trust our users to share resources fairly.
</p>
</div>
<div class="feature">
<h3>Feature Support</h3>
<p>
Supports all Overpass API features including regular requests,
area access, attic data, map generation, and more.
</p>
</div>
<div class="feature">
<h3>Privacy Focus</h3>
<p>
We respect your privacy and do not store personal data. Only
non-sensitive metadata is logged temporarily to ensure smooth
operations.
</p>
</div>
</div>
<div class="cta">
<a href="https://turbo.overpass.private.coffee" class="button"
>Use the API</a
>
<a href="https://dev.overpass-api.de/overpass-doc/en/" class="button"
>Read the Docs</a
>
</div>
</div>
</section>
<section id="terms">
<div class="container">
<h2>Terms of Use</h2>
<div class="term-item">
<h3>1. Who Are We?</h3>
<p>
This service is operated by Private.coffee, a non-profit association
under Austrian law. You can find our full legal information
<a href="https://private.coffee/legal.html">on our website</a>.
</p>
<p>
If you have any questions or concerns about this service, you can
contact us by email at
<a href="mailto:support@private.coffee">support@private.coffee</a>
or join our Matrix room,
<a href="https://matrix.pcof.fi/#/#overpass:private.coffee">
#overpass:private.coffee </a
>.
</p>
</div>
<div class="term-item">
<h3>2. What Is This Service?</h3>
<p>
Our Overpass API service provides programmatic access to data from
<a href="https://osm.org/">OpenStreetMap</a>. Due to the nature of
this service, the data returned may be slightly outdated compared to
what is displayed on the OpenStreetMap website.
</p>
</div>
<div class="term-item">
<h3>3. How Can You Access This Service?</h3>
<p>
Our Overpass API endpoints are available at
<a href="https://overpass.private.coffee/api/"
>https://overpass.private.coffee/api/</a
>. For the default interpreter, use
<a href="https://overpass.private.coffee/api/interpreter"
>https://overpass.private.coffee/api/interpreter</a
>. For testing purposes, you can use
<a href="https://turbo.overpass.private.coffee">Overpass Turbo</a>.
For a full reference on usage, refer to the
<a href="https://dev.overpass-api.de/overpass-doc/en/"
>Overpass API documentation</a
>.
</p>
</div>
<div class="term-item">
<h3>4. User Obligations</h3>
<ul>
<li>
<strong>Be Kind:</strong> Optimize your queries, limit
simultaneous requests, and avoid malicious or disruptive use.
</li>
<li>
<strong>Respect Privacy:</strong> Ensure your requests do not
contain any personally identifiable information.
</li>
<li>
<strong>Comply with OpenStreetMap's License:</strong> Credit
OpenStreetMap and its contributors as required by their license.
Refer to
<a href="https://www.openstreetmap.org/copyright"
>OpenStreetMap's copyright and license notice</a
>.
</li>
</ul>
</div>
<div class="term-item">
<h3>5. Best Practices</h3>
<ul>
<li>
Use a meaningful User-Agent header. It should include your project
name and a means to contact you (e.g., a link to your project
website). By including an email address, you allow us to keep that
address on record for contact purposes.
</li>
<li>Prefer POST requests over GET requests where possible.</li>
<li>
Notify us in advance of any large operations (e.g., sending over
ten requests per second, or running more than ten requests at a
time).
</li>
<li>
If you're using this service in a commercial project, consider
supporting us by
<a href="https://private.coffee/membership.html"
>making a donation or becoming a member of Private.coffee</a
>.
</li>
</ul>
</div>
<div class="term-item">
<h3>6. Reliability and Disclaimer</h3>
<p>
We strive for reliability but provide the service "as is" without
any warranty. The service may be terminated at our sole discretion
at any time, and we are not liable for any damages incurred due to
service issues. Do not use this service for critical infrastructure
or where incorrect data could cause serious consequences.
</p>
</div>
</div>
</section>
<section id="privacy">
<div class="container">
<h2>Privacy Policy</h2>
<div class="privacy-item">
<h3>1. Who Are We?</h3>
<p>
This service is operated by Private.coffee, a non-profit association
under Austrian law. You can find our full legal information
<a href="https://private.coffee/legal.html">on our website</a>.
</p>
</div>
<div class="privacy-item">
<h3>2. Information We Store</h3>
<p>
When you access our landing page or use our API endpoints, the
following metadata may be collected for each request:
</p>
<ul>
<li>
The first three bytes of the source IPv4 address (e.g.,
123.45.67.0) or the first eight bytes of the source IPv6 address
(e.g., 1234:5678:90ab:cdef::).
</li>
<li>The date and time of the request.</li>
<li>The HTTP protocol version and request method.</li>
<li>The requested endpoint (GET parameters are not logged).</li>
<li>The HTTP Referer header content (if any).</li>
<li>The HTTP User-Agent header content (if any).</li>
</ul>
<p>
Logs may be retained for up to 48 hours and are used to detect and
mitigate technical issues. This data does not qualify as personal
data, so we do not require consent for storing it.
</p>
</div>
<div class="privacy-item">
<h3>3. Support Tickets</h3>
<p>
If you contact us by email, we collect the following information
from your message's headers:
</p>
<ul>
<li>The name and email address ("From" header).</li>
<li>Your IPv4 or IPv6 address ("Received" header).</li>
<li>The date and time of your message ("Date" header).</li>
<li>Any other information you provide in the headers or body.</li>
</ul>
<p>
This data is stored for thirty days after your support ticket is
closed to respond effectively to your inquiry or any follow-up
questions. It is then automatically deleted.
</p>
</div>
<div class="privacy-item">
<h3>4. Cookies</h3>
<p>
We use cookies only as part of our support system to keep you logged
in. You can disable cookies or manage them through your browser
preferences. If you only access our API or landing page, no cookies
are set.
</p>
</div>
<div class="privacy-item">
<h3>5. Your Rights</h3>
<ul>
<li>
<strong>Right to Access and Data Portability:</strong> Request
copies of your personal data and transfer it to you or another
entity.
</li>
<li>
<strong>Right to Rectification:</strong> Request corrections of
incorrect or incomplete data.
</li>
<li>
<strong>Right to Erasure:</strong> Request deletion of data that
we're not legally required to retain.
</li>
<li>
<strong>Right to Restrict/Object to Processing:</strong> Request
we restrict or cease processing your data.
</li>
</ul>
<p>
We process these requests within one month. You can contact us by
email or mail to exercise any of these rights.
</p>
<p>
If you believe that we are not processing your data in accordance
with applicable data protection laws, you have the right to complain
to the competent data protection authority. In Austria, this is the
<a href="https://dsb.gv.at/">Datenschutzbehörde</a>.
</p>
<p>
If you have concerns about personal data that is returned by our
API, please note that this is information we got from a public
source. If you wish to get data removed from the OSM data set,
please
<a href="https://wiki.osmfoundation.org/wiki/Contact"
>get in touch with the OSM Foundation</a
>
directly.
</p>
</div>
<div class="privacy-item">
<h3>6. Obligations as an API User</h3>
<p>
Ensure your requests do not include personally identifiable
information. Communicate our privacy policy to your users or
reference it in your own privacy policy.
</p>
</div>
</div>
</section>
<footer>
<div class="container">
<p>
Brought to you by <a href="https://private.coffee">Private.coffee</a>
</p>
</div>
</footer>
</body>
</html>

122
styles.css Normal file
View file

@ -0,0 +1,122 @@
body {
font-family: 'Roboto', sans-serif;
color: #333;
margin: 0;
padding: 0;
}
header {
background: #4CAF50;
padding: 20px 0;
color: white;
}
header .container {
display: flex;
justify-content: space-between;
align-items: center;
}
header .logo {
font-size: 1.5rem;
}
header nav ul {
list-style: none;
display: flex;
margin: 0;
padding: 0;
}
header nav ul li {
margin: 0 10px;
}
header nav ul li a {
color: white;
text-decoration: none;
}
#hero {
background: #f4f4f4;
padding: 50px 0;
text-align: center;
}
#hero .container {
max-width: 960px;
margin: 0 auto;
}
#hero .hero-content h2 {
margin: 0;
font-size: 2.5rem;
}
#hero .hero-content .tagline {
margin: 20px 0;
font-size: 1.2rem;
}
#hero .button {
background: #4CAF50;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 5px;
}
.section {
padding: 50px 0;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 0 20px;
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.features {
display: flex;
justify-content: space-around;
text-align: center;
}
.features .feature {
max-width: 30%;
}
.cta {
text-align: center;
margin-top: 30px;
}
.cta .button {
background: #4CAF50;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 5px;
display: inline-block;
margin: 5px;
}
footer {
background: #4CAF50;
color: white;
text-align: center;
padding: 20px 0;
}
section:not(:first-child) {
border-top: 1px solid #ccc;
}
footer a {
color: white;
}