A modern social map platform where users can discover, rate, save and share local spots around Lima.
En su Point is designed for people who want to explore restaurants, pollerías, cafés, bars, rooftops, hidden places, photo spots and other local experiences through a community-driven map.
Inspired by modern social platforms, map-based discovery apps and local recommendation experiences.
- User authentication
- Public user profiles
- Editable profile information
- Avatar upload and profile customization
- Interactive Mapbox map
- Custom map pins by category
- Location-based discovery
- Create and publish new Points
- Upload main images for places
- Address autocomplete
- Manual map coordinate picker
- Category and district filters
- Ratings and reviews
- Comments system
- Emoji reactions
- Saved places system
- Favorite Points section
- Friend and follower system
- User search
- Real-time notifications
- XP and user level progression
- Trending places dashboard
- Admin moderation panel
- Dark modern responsive interface
En su Point is not just another map application.
The goal is to create a social discovery experience where users can:
- discover new local places
- recommend hidden spots
- rate their favorite places
- interact with friends
- save places they want to visit
- build a local explorer profile
- find recommendations based on community activity
The platform focuses on Lima and aims to make local exploration more social, visual and community-driven.
The home dashboard gives users a quick overview of:
- trending places of the month
- new recommended Points
- friend activity
- nearby places
- places close to the user
- an interactive map preview
Users can browse available Points and filter them by:
- name
- category
- district
Categories include restaurants, pollerías, cafés, bars, rooftops, karaokes, hotels, hidden places, photo spots and more.
The map page displays all Points in real time using Mapbox.
Each Point is shown with a custom marker, making it easier to identify different types of places visually.
Users can publish a new Point by adding:
- main photo
- place name
- category
- district
- address
- reference
- description
- exact map location
- optional initial rating
- anonymous publishing option
Each user has a personal profile with:
- profile photo
- username
- bio
- district
- XP
- level title
- created Points
- favorite Points
- followers and following counters
Users can manage their own activity:
- view their ratings
- update ratings
- delete ratings
- view comments
- edit comments
- delete comments
The app includes a moderation panel for admins, allowing them to:
- manage Points
- remove inappropriate comments
- delete ratings
- moderate community content
- React
- TypeScript
- TailwindCSS
- TanStack Router
- TanStack Query
- Supabase
- PostgreSQL
- Supabase Auth
- Supabase Storage
- Supabase Realtime
- Mapbox GL
- Mapbox Geocoding API
- Radix UI
- shadcn/ui components
- Lucide React
- Zod
- Vite
The interface is designed with a modern dark visual style.
Main design goals:
- urban social discovery feeling
- clean dark-mode experience
- immersive map-based navigation
- smooth card-based layouts
- strong visual identity
- readable filters and categories
- responsive structure
- community-focused interactions
The visual style combines elements inspired by:
- modern map apps
- social platforms
- dark dashboards
- local discovery apps
- recommendation-based interfaces
The platform includes different user roles:
- Regular users
- Moderators
- Admins
- Super admins
Admins can access a private moderation panel to manage community content and keep the platform clean.
The backend uses Supabase and PostgreSQL with:
- user profiles
- roles and permissions
- categories
- points
- comments
- ratings
- saved places
- reactions
- followers
- notifications
- reports
- storage buckets for point images and avatars
- Row Level Security policies
- database triggers for ratings, XP and notifications
Clone the repository:
git clone https://github.com/Fanaker/En-su-Point.git
cd En-su-PointInstall dependencies:
bun installRun the development server:
bun run devOr using npm:
npm install
npm run devCreate a .env file in the root of the project.
VITE_SUPABASE_URL=
VITE_SUPABASE_PUBLISHABLE_KEY=
VITE_SUPABASE_PROJECT_ID=
VITE_MAPBOX_TOKEN=Do not upload your real .env file to GitHub.
Use .env.example to show the required variables without exposing private keys.
- Advanced recommendation algorithm
- AI-based place suggestions
- Better social activity feed
- Achievement badges
- More detailed user rankings
- Group plans for visiting places
- Advanced filters by mood, distance and popularity
- Mobile app version
- Public shareable Point pages
- Improved admin analytics
This project is currently under active development.
Some features may still be experimental, incomplete or subject to future improvements.