Ethermap collaborative map tool inspired by etherpad.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
suroh eaacb89abc housekeeping renaming controllers to match CRUD and updated tests to reflect failing "/" route 1 year ago
backend housekeeping renaming controllers to match CRUD and updated tests to reflect failing "/" route 1 year ago
frontend changed server setup to use ViteExpress to serve front and backend 1 year ago
.env.template changed server setup to use ViteExpress to serve front and backend 1 year ago
.eslintrc.cjs changed server setup to use ViteExpress to serve front and backend 1 year ago
.gitignore changed dev and testing environments to sqlite3 1 year ago
README.md housekeeping renaming controllers to match CRUD and updated tests to reflect failing "/" route 1 year ago
knexfile.js changed server setup to use ViteExpress to serve front and backend 1 year ago
package-lock.json changed server setup to use ViteExpress to serve front and backend 1 year ago
package.json changed server setup to use ViteExpress to serve front and backend 1 year ago
server.js changed server setup to use ViteExpress to serve front and backend 1 year ago
vite.config.js changed server setup to use ViteExpress to serve front and backend 1 year ago

README.md

ethermap

This is very much a janky earlydays project. All help is welcome!

An interactive map tool. A tool for collaborative planning on maps. Anyone can create new maps, and add, modify and delete locations on any map.

Install

Ethermap is built in JavaScript (soz) using NodeJS. To install you can do so by running the following commands.

To install all dependencies for the front and backend :

$ npm run install

You will then need to create a .env file in the root folder. There is a .env.template that you can copy as a guide. For a dev server you can simply copy and paste the template leaving it as is.

Then migrate the database structure :

$ npm run migrate:latest

Then you should be able to run the dev server :

$ npm run dev

You should now be able to access ethermaps on http://localhost:3000 (or whichever port you configured in your .env file).

Desires

Minimal viable functionality for this project is the following :

  • Anyone can create a map
  • Anyone can create, modify and delete points on a map that contain at least
    • name of point
    • notes on said point
  • Everyone can see current users live
    • users can choose their name
    • users can choose their cursor colour
    • user data should be remembered across visits

Things that ethermap should/could do in the future :

  • points
    • edits are all recorded
  • users
    • users can chat
    • users can also draw polygons and make labels that are not necessarily "points of interest"
  • notes
    • notes should be rich
    • note updates should also be "live"
    • notes should be attributed to users who wrote/edited them
  • osmAnd Sync!