Skip to content

Commit d1fba11

Browse files
Improve backend (#678)
2 parents 4d80e81 + fe2dce1 commit d1fba11

36 files changed

Lines changed: 540 additions & 201 deletions

backend/projectify/settings/development.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ class Development(SpectacularSettings, Base):
116116

117117
# Email
118118
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
119+
SERVER_EMAIL = "hello@projectifyapp.com"
119120

120121
# Media
121122
SERVE_MEDIA = True

backend/projectify/static/alpine.min.js

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<!--
2+
SPDX-FileCopyrightText: 2026 JWP Consulting GK
3+
4+
SPDX-License-Identifier: AGPL-3.0-or-later
5+
-->
6+
# boring-avatars
7+
8+
```
9+
MIT License
10+
11+
Copyright (c) 2023 paolotiu
12+
Copyright (c) 2021 boringdesigners
13+
14+
Permission is hereby granted, free of charge, to any person obtaining a copy
15+
of this software and associated documentation files (the "Software"), to deal
16+
in the Software without restriction, including without limitation the rights
17+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18+
copies of the Software, and to permit persons to whom the Software is
19+
furnished to do so, subject to the following conditions:
20+
21+
The above copyright notice and this permission notice shall be included in all
22+
copies or substantial portions of the Software.
23+
24+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30+
SOFTWARE.
31+
```
32+
33+
# tailwind
34+
35+
```
36+
MIT License
37+
38+
Copyright (c) Tailwind Labs, Inc.
39+
40+
Permission is hereby granted, free of charge, to any person obtaining a copy
41+
of this software and associated documentation files (the "Software"), to deal
42+
in the Software without restriction, including without limitation the rights
43+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
44+
copies of the Software, and to permit persons to whom the Software is
45+
furnished to do so, subject to the following conditions:
46+
47+
The above copyright notice and this permission notice shall be included in all
48+
copies or substantial portions of the Software.
49+
50+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
51+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
52+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
53+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
54+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
55+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
56+
SOFTWARE.
57+
```
58+
59+
# modern-normalize
60+
61+
```
62+
MIT License
63+
64+
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
65+
Copyright (c) Jonathan Neal
66+
Copyright (c) Nicolas Gallagher
67+
68+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
69+
70+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
71+
72+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
73+
```

backend/projectify/storefront/templates/storefront/credits.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
{% trans "Credits and attribution" as title %}
1212
{% include "storefront/common/storefront_header.html" with title=title %}
1313
<div class="w-full p-6 max-w-4xl">
14-
<div class="prose">{# TODO: Load markdown #}</div>
14+
<div class="prose">{{ markdowntext|markdownify }}</div>
1515
</div>
1616
</main>
1717
{% endblock storefront_content %}

backend/projectify/storefront/templates/storefront/privacy.html

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,40 @@
22
{# SPDX-License-Identifier: AGPL-3.0-or-later #}
33
{% extends "storefront_base.html" %}
44
{% load markdownify %}
5+
{% load projectify %}
56
{% load i18n %}
67
{% block title %}
78
{% translate "Privacy policy - Projectify" %}
89
{% endblock title %}
910
{% block storefront_content %}
1011
<main class="flex flex-col items-center gap-10 bg-foreground pb-20 pt-10">
1112
<div class="flex w-full max-w-5xl grow flex-col gap-4 bg-foreground p-6 sm:flex-row sm:gap-8">
12-
<nav slot="side" class="flex max-w-xs grow flex-col gap-2">
13+
<nav class="flex max-w-xs grow flex-col gap-2">
1314
<p id="top" class="font-bold">{% trans "Privacy Policy" %}</p>
1415
<ol class="list-inside list-disc">
15-
<li>
16-
<a href="#japanese"
17-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "Japanese Privacy Policy (original)" %}</a>
18-
</li>
19-
<li>
20-
<a href="#english"
21-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "English Privacy Policy (translation)" %}</a>
22-
</li>
23-
<li>
24-
<a href="#japanese-gdpr"
25-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "Japanese GDPR Privacy Policy (original)" %}</a>
26-
</li>
27-
<li>
28-
<a href="#english-gdpr"
29-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "English GDPR Privacy Policy (translation)" %}</a>
30-
</li>
16+
<li>{% anchor href="#japanese" label=_("Japanese Privacy Policy (original)") %}</li>
17+
<li>{% anchor href="#english" label=_("English Privacy Policy (translation)") %}</li>
18+
<li>{% anchor href="#japanese-gdpr" label=_("Japanese GDPR Privacy Policy (original)") %}</li>
19+
<li>{% anchor href="#english-gdpr" label=_("English GDPR Privacy Policy (translation)") %}</li>
3120
</ol>
3221
</nav>
3322
<div class="flex flex-col gap-10">
34-
<div class="prose">{# TODO: Load markdown #}</div>
23+
<section class="prose" id="japanese">
24+
{% include "storefront/privacy/pp-ja-formatted.svelte" %}
25+
</section>
26+
{% anchor href="#top" label=_("Jump back to top") %}
27+
<section id="english" class="prose">
28+
{% include "storefront/privacy/pp-en-formatted.svelte" %}
29+
</section>
30+
{% anchor href="#top" label=_("Jump back to top") %}
31+
<section class="prose" id="japanese-gdpr">
32+
{% include "storefront/privacy/pp-gdpr-ja-formatted.svelte" %}
33+
</section>
34+
{% anchor href="#top" label=_("Jump back to top") %}
35+
<section id="english-gdpr" class="prose">
36+
{% include "storefront/privacy/pp-gdpr-en-formatted.svelte" %}
37+
</section>
38+
{% anchor href="#top" label=_("Jump back to top") %}
3539
</div>
3640
</main>
3741
</div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../../frontend/src/routes/(storefront)/privacy/pp-en-formatted.svelte
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../../frontend/src/routes/(storefront)/privacy/pp-gdpr-en-formatted.svelte
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../../frontend/src/routes/(storefront)/privacy/pp-gdpr-ja-formatted.svelte
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../../frontend/src/routes/(storefront)/privacy/pp-ja-formatted.svelte

backend/projectify/storefront/templates/storefront/tos.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{# SPDX-License-Identifier: AGPL-3.0-or-later #}
33
{% extends "storefront_base.html" %}
44
{% load markdownify %}
5+
{% load projectify %}
56
{% load i18n %}
67
{% block title %}
78
{% translate "Terms of service - Projectify" %}
@@ -12,18 +13,19 @@
1213
<nav class="flex max-w-xs grow flex-col gap-2">
1314
<p id="top" class="font-bold">{% trans "Terms of service" %}</p>
1415
<ol class="list-inside list-disc">
15-
<li>
16-
<a href="#japanese"
17-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "Japanese (original)" %}</a>
18-
</li>
19-
<li>
20-
<a href="#english"
21-
class="text-primary underline hover:text-primary-hover active:text-primary-pressed text-base">{% trans "English (translation)" %}</a>
22-
</li>
16+
<li>{% anchor href="#japanese" label=_("Japanese (original)") %}</li>
17+
<li>{% anchor href="#english" label=_("English (translation)") %}</li>
2318
</ol>
2419
</nav>
25-
<div class="w-full p-6 max-w-4xl">
26-
<div class="prose">{# TODO: Load markdown #}</div>
20+
<div class="flex flex-col gap-10">
21+
<section class="prose" id="japanese">
22+
{% include "storefront/tos/tos-ja-formatted.svelte" %}
23+
</section>
24+
{% anchor label=_("Jump back to top") href="#top" %}
25+
<section id="english" class="prose">
26+
{% include "storefront/tos/tos-en-formatted.svelte" %}
27+
</section>
28+
{% anchor label=_("Jump back to top") href="#top" %}
2729
</div>
2830
</main>
2931
</div>

0 commit comments

Comments
 (0)