![Logo](https://private-user-images.githubusercontent.com/72857634/365685143-e78ee94c-9ad6-4eca-9d4c-cfb004ffebe8.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMjEwODQsIm5iZiI6MTczOTEyMDc4NCwicGF0aCI6Ii83Mjg1NzYzNC8zNjU2ODUxNDMtZTc4ZWU5NGMtOWFkNi00ZWNhLTlkNGMtY2ZiMDA0ZmZlYmU4LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDE3MDYyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUzZmU2ZWUyNzdlNmFlYmFlNDljMmFhOWNhMjdjMjkyNjQ4ZWNlYzAzYWE3NDllYzAyNTBkMGE1YWQzYWU1MzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TqRIs5EAkNXRE6pfkGRq3-4ITyIJmtqb0UG0igYgV7M)
Your Personal Map, Your Shared Memories!
View Demo
·
Report Bug
·
Request Feature
Table of Contents
LocaMark is a personalized mapping tool designed to help users mark, save, and organize various locations, areas, or lines on a digital map. The main goal of the program is to allow users to capture and preserve important places, routes, or regions they encounter, whether during travels or daily life. By marking favorite locations or drawing lines to represent routes or boundaries, LocaMark provides an intuitive platform for users to keep a visual record of meaningful spots and experiences. Its user-friendly interface ensures easy navigation, enabling users to revisit and manage their saved locations whenever needed.
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
To get a local copy up and running, follow these steps:
- Node.js (v20.x or higher)
- .NET 8.0 SDK
- PostgreSQL installed and running
- Clone the repo:
git clone https://github.com/erayates/locamark.git cd locamark
- Install frontend dependencies:
cd app npm install
- Install backend dependencies:
dotnet restore
- Set up the database:
- Create a PostgreSQL database named locamark.
- Run the migration to set up the tables:
cd backend dotnet ef database update
- Run the app:
- Start the backend server:
cd backend dotnet run
- Start the frontend app:
cd backend npm run dev
LocaMark is designed to offer a smooth and intuitive experience for managing your marked locations. Below are some key examples of how you can use the app:
- Register: New users can create an account by registering with basic information such as email and password.
- Login: After registering, users can log in to access their personal map and saved locations.
- Once logged in, users will be directed to the map interface where they can begin marking locations.
- Users can mark new points, areas, or lines on the map by clicking on the map and filling out the required details.
- Each location can be given a name, description, and saved for later reference.
- A confirmation panel will appear before finalizing the marker, giving you the option to confirm or cancel the action.
- The application displays all your saved geometries (points, areas, and lines) in a table below the map.
- Actions on the table:
- Show: Clicking "Show" for any geometry will close the table and zoom into the specific geometry on the map, opening a popup to display details such as name and description.
- Update: You have two options for updating geometries:
- Manual Update: Click the update button to manually change the details of the marker.
- Drag & Drop: Easily drag markers on the map to new positions and confirm changes via an alert.
- Delete: Remove any marker or geometry from the map by clicking "Delete."
- Geometries can be easily repositioned by dragging and dropping them to a new location on the map.
- After dropping, an alert will appear asking for confirmation before saving the new position. Once confirmed, the geometry is updated in the database, and the page is refreshed.
- The app includes a feature to quickly zoom back to the center of Turkey, making it easy to reset the map view and focus on the main area of interest.
- Navigation: LocaMark comes with custom controllers for map navigation:
- Zoom In/Out: Buttons to zoom the map in or out.
- Rotate Left/Right: Rotate the map view for better orientation.
- Dark Mode: Toggle between light and dark modes for a customized user experience, especially useful for night-time viewing.
- A Logout button is located at the top of the page, allowing users to easily sign out of their account.
For more examples and detailed information, please refer to the Documentation (Not prepared yet!).
- Role Based Authentication and Authorization
- Admin Dashboard
- Responsive views for all pages
- Dockerize the project.
See the open issues for a full list of proposed features (and known issues).
Distributed under the MIT License. See LICENSE.txt
for more information.
Eray Ates - @Twitter - @LinkedIn - eray.ates@outlook.com
Project Link: https://github.com/erayates/locamark