Neptune is a modern web application that combines secure authentication with powerful mapping capabilities, providing users with access to both standard OpenStreetMap data and specialized marine data from INCOIS (Indian National Centre for Ocean Information Services).
- Secure email/password registration and login
- Google OAuth integration for quick access
- Protected routes and user session management
- Interactive OpenStreetMap integration centered on Chennai
- Special marine data visualization through INCOIS Geoportal
- Responsive design with fullscreen map views
- Loading states and error handling for map components
- React.js with Vite for fast development and building
- React Router for navigation
- Material-UI (MUI) for modern UI components
- Firebase Authentication for user management
- Leaflet.js for interactive maps
- INCOIS Geoportal integration
- Node.js (v14 or higher)
- npm or yarn
- Firebase account and project
- Clone the repository
git clone <repository-url>
cd neptune- Install dependencies
npm install- Configure Firebase
- Create a new project in Firebase Console
- Enable Authentication (Email/Password and Google Sign-in)
- Create a web app in your Firebase project
- Copy the Firebase configuration
- Create
src/firebase.jswith your config:
import { initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';
const firebaseConfig = {
// Your Firebase configuration object
};
const app = initializeApp(firebaseConfig);
export const auth = getAuth(app);- Start the development server
npm run dev- Navigate to
/signupto create a new account - Use
/loginto access an existing account - Sign in with Google option available on both pages
- Main map view centered on Chennai
- User profile accessible from the top-right corner
- Access to special marine map through profile menu
- INCOIS Geoportal integration for specialized marine data
- Fullscreen view with back navigation
- Fallback option to open in new tab if loading fails
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.