rename geochan
This commit is contained in:
parent
55d2abefb4
commit
930c49e8d6
11 changed files with 33 additions and 61 deletions
39
README.md
39
README.md
|
|
@ -1,43 +1,14 @@
|
||||||
# Permap
|
# Geochan
|
||||||
|
|
||||||
Permap is an open source geo-message-board software written in OCaml.
|
Geochan is an open source imageboard software written in OCaml.
|
||||||
|
It's defining feature is to have geolocalized threads.
|
||||||
Permap was initially made to be a gardening/permaculture forum.
|
|
||||||
Permap's aim is to help people find friends with similar interests around them
|
|
||||||
and build local communities.
|
|
||||||
|
|
||||||
You can make threads with geographical coordinate,
|
You can make threads with geographical coordinate,
|
||||||
this way you can find people near you doing interesting things,
|
this way you can talk about a place or find people near you doing interesting things
|
||||||
socialize with them and share local knowledge.
|
and socialize with them.
|
||||||
|
|
||||||
## Permap's future
|
|
||||||
|
|
||||||
- Make permap federate
|
|
||||||
|
|
||||||
- More than coordinates
|
|
||||||
|
|
||||||
Make threads on anything with a geographical position.
|
|
||||||
Instead of making threads with a simple (latitude * longitude) data,
|
|
||||||
we want to be able to make threads on any OpenStreetMap's item/ActivityPub object
|
|
||||||
that can resolve to a geographical position.
|
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
[AGPL-or-later]
|
[AGPL-or-later]
|
||||||
|
|
||||||
[AGPL-or-later]: ./LICENSE.md
|
[AGPL-or-later]: ./LICENSE.md
|
||||||
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
- post nb limit
|
|
||||||
|
|
||||||
- make it a web-app instead
|
|
||||||
|
|
||||||
- rework style, full screen map
|
|
||||||
- dream -> drame
|
|
||||||
- good moderation/admin system
|
|
||||||
- all of [issues](https://git.zapashcanon.fr/zapashcanon/permap/issues)
|
|
||||||
- imagemagick: WARNING: The convert command is deprecated in IMv7
|
|
||||||
|
|
||||||
- db error on login fail instead of clean login error msg
|
|
||||||
- login fail on login with email?
|
|
||||||
|
|
|
||||||
16
dune-project
16
dune-project
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
(implicit_transitive_deps false)
|
(implicit_transitive_deps false)
|
||||||
|
|
||||||
(name permap)
|
(name geochan)
|
||||||
|
|
||||||
(license AGPL-3.0-or-later)
|
(license AGPL-3.0-or-later)
|
||||||
|
|
||||||
|
|
@ -18,18 +18,18 @@
|
||||||
"Léo Andrès <contact@ndrs.fr>")
|
"Léo Andrès <contact@ndrs.fr>")
|
||||||
|
|
||||||
(source
|
(source
|
||||||
(uri git+https://git.zapashcanon.fr/zapashcanon/permap.git))
|
(uri git+https://git.zapashcanon.fr/zapashcanon/geochan.git))
|
||||||
|
|
||||||
(homepage https://git.zapashcanon.fr/zapashcanon/permap)
|
(homepage https://git.zapashcanon.fr/zapashcanon/geochan)
|
||||||
|
|
||||||
(bug_reports https://git.zapashcanon.fr/zapashcanon/permap/issues)
|
(bug_reports https://git.zapashcanon.fr/zapashcanon/geochan/issues)
|
||||||
|
|
||||||
(documentation https://doc.zapashcanon.fr/permap)
|
(documentation https://doc.zapashcanon.fr/geochan)
|
||||||
|
|
||||||
(package
|
(package
|
||||||
(name permap)
|
(name geochan)
|
||||||
(synopsis "OCaml library/executable to TODO")
|
(synopsis "A geo-imageboard written in OCaml")
|
||||||
(description "permap is an OCaml library/executable to TODO.")
|
(description "Geochan is an open source imageboard with threads pinned to a geolocation.")
|
||||||
(tags
|
(tags
|
||||||
(imageboard forum map leaflet single-page-application functional-reactive-programming))
|
(imageboard forum map leaflet single-page-application functional-reactive-programming))
|
||||||
(depends
|
(depends
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
# This file is generated by dune, edit dune-project instead
|
# This file is generated by dune, edit dune-project instead
|
||||||
opam-version: "2.0"
|
opam-version: "2.0"
|
||||||
synopsis: "OCaml library/executable to TODO"
|
synopsis: "A geo-imageboard written in OCaml"
|
||||||
description: "permap is an OCaml library/executable to TODO."
|
description:
|
||||||
|
"Geochan is an open source imageboard with threads pinned to a geolocation."
|
||||||
maintainer: ["swrup <swrup@protonmail.com>" "Léo Andrès <contact@ndrs.fr>"]
|
maintainer: ["swrup <swrup@protonmail.com>" "Léo Andrès <contact@ndrs.fr>"]
|
||||||
authors: ["swrup <swrup@protonmail.com>" "Léo Andrès <contact@ndrs.fr>"]
|
authors: ["swrup <swrup@protonmail.com>" "Léo Andrès <contact@ndrs.fr>"]
|
||||||
license: "AGPL-3.0-or-later"
|
license: "AGPL-3.0-or-later"
|
||||||
|
|
@ -13,9 +14,9 @@ tags: [
|
||||||
"single-page-application"
|
"single-page-application"
|
||||||
"functional-reactive-programming"
|
"functional-reactive-programming"
|
||||||
]
|
]
|
||||||
homepage: "https://git.zapashcanon.fr/zapashcanon/permap"
|
homepage: "https://git.zapashcanon.fr/zapashcanon/geochan"
|
||||||
doc: "https://doc.zapashcanon.fr/permap"
|
doc: "https://doc.zapashcanon.fr/geochan"
|
||||||
bug-reports: "https://git.zapashcanon.fr/zapashcanon/permap/issues"
|
bug-reports: "https://git.zapashcanon.fr/zapashcanon/geochan/issues"
|
||||||
depends: [
|
depends: [
|
||||||
"dune" {>= "3.0"}
|
"dune" {>= "3.0"}
|
||||||
"bos"
|
"bos"
|
||||||
|
|
@ -63,4 +64,4 @@ build: [
|
||||||
"@doc" {with-doc}
|
"@doc" {with-doc}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
dev-repo: "git+https://git.zapashcanon.fr/zapashcanon/permap.git"
|
dev-repo: "git+https://git.zapashcanon.fr/zapashcanon/geochan.git"
|
||||||
|
|
@ -350,7 +350,7 @@ let def_page_title t_s =
|
||||||
| New_thread -> "new thread"
|
| New_thread -> "new thread"
|
||||||
| kind -> Kind.to_string kind )
|
| kind -> Kind.to_string kind )
|
||||||
in
|
in
|
||||||
Fmt.str "%s | Permap" s |> String.capitalize_ascii |> Jstr.v
|
Fmt.str "%s | Geochan" s |> String.capitalize_ascii |> Jstr.v
|
||||||
|> Document.set_title G.document
|
|> Document.set_title G.document
|
||||||
in
|
in
|
||||||
S.map (fun t -> t.page) t_s |> S.changes |> hold_endless set_title;
|
S.map (fun t -> t.page) t_s |> S.changes |> hold_endless set_title;
|
||||||
|
|
|
||||||
12
src/dune
12
src/dune
|
|
@ -1,12 +1,12 @@
|
||||||
(executable
|
(executable
|
||||||
(public_name permap)
|
(public_name geochan)
|
||||||
(modules permap)
|
(modules geochan)
|
||||||
(package permap)
|
(package geochan)
|
||||||
(libraries
|
(libraries
|
||||||
config_serv_impl ; implements config_serv
|
config_serv_impl ; implements config_serv
|
||||||
config_impl ; implements config
|
config_impl ; implements config
|
||||||
shared
|
shared
|
||||||
permap
|
geochan
|
||||||
;;
|
;;
|
||||||
dream
|
dream
|
||||||
fmt
|
fmt
|
||||||
|
|
@ -19,9 +19,9 @@
|
||||||
(:standard -open Prelude)))
|
(:standard -open Prelude)))
|
||||||
|
|
||||||
(library
|
(library
|
||||||
(name permap)
|
(name geochan)
|
||||||
(wrapped false)
|
(wrapped false)
|
||||||
(modules :standard \ permap json_data syntax types err validate_str)
|
(modules :standard \ geochan json_data syntax types err validate_str)
|
||||||
(libraries
|
(libraries
|
||||||
config_serv ; virtual
|
config_serv ; virtual
|
||||||
config ; virtual
|
config ; virtual
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ let page_of_res res =
|
||||||
|
|
||||||
(* TODO have a loading animation *)
|
(* TODO have a loading animation *)
|
||||||
let app_start_page =
|
let app_start_page =
|
||||||
let title = "Permap" in
|
let title = "Geochan" in
|
||||||
let body = El.body [] in
|
let body = El.body [] in
|
||||||
let styles =
|
let styles =
|
||||||
let leaflet_style = "/assets/css/leaflet.css" in
|
let leaflet_style = "/assets/css/leaflet.css" in
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
module App_id = struct
|
module App_id = struct
|
||||||
let qualifier = "org"
|
let qualifier = "org"
|
||||||
|
|
||||||
let organization = "Permap"
|
let organization = "Geochan"
|
||||||
|
|
||||||
let application = "permap"
|
let application = "geochan"
|
||||||
end
|
end
|
||||||
|
|
||||||
module Project_dirs = Directories.Project_dirs (App_id)
|
module Project_dirs = Directories.Project_dirs (App_id)
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ let print_config_serv () =
|
||||||
| Error (`Msg _) ->
|
| Error (`Msg _) ->
|
||||||
Fmt.error_msg "error when creating %a" Fpath.pp data_dir
|
Fmt.error_msg "error when creating %a" Fpath.pp data_dir
|
||||||
in
|
in
|
||||||
let db_path = Fpath.(data_dir / "permap.db") in
|
let db_path = Fpath.(data_dir / "geochan.db") in
|
||||||
let s = Uri.of_string @@ Fmt.str "sqlite3://%a" Fpath.pp db_path in
|
let s = Uri.of_string @@ Fmt.str "sqlite3://%a" Fpath.pp db_path in
|
||||||
print_uri "db_uri" s;
|
print_uri "db_uri" s;
|
||||||
()
|
()
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
default_logger true
|
default_logger true
|
||||||
custom_logger true
|
custom_logger true
|
||||||
admin admin
|
admin admin
|
||||||
source_code_url "https://git.zapashcanon.fr/swrup/permap"
|
source_code_url "https://git.zapashcanon.fr/swrup/geochan"
|
||||||
hostname "localhost"
|
hostname "localhost"
|
||||||
port 3696
|
port 3696
|
||||||
csrf_lifetime 3600
|
csrf_lifetime 3600
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
config_test ; implements config module
|
config_test ; implements config module
|
||||||
shared
|
shared
|
||||||
comment
|
comment
|
||||||
permap
|
geochan
|
||||||
;;
|
;;
|
||||||
alcotest
|
alcotest
|
||||||
fmt
|
fmt
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue