Transform Connections into Unforgettable Experiences
| Technology | Purpose |
|---|---|
| React | Frontend UI components |
| Vite | High-speed build & dev tooling |
| Firebase | Authentication + real‑time database / data sync |
| JavaScript | Core logic & interactions |
| CSS / HTML | Layout & styling |
| ESLint | Code quality & consistency |
| React Router | Client‑side routing |
- Overview
- Features
- Demo / Live Site
- Getting Started
- Project Structure
- Usage Guide
- Roadmap & Future Plans
- Contributing
- License
Gather is a modern, user‐friendly platform to discover, join, and host real‑world meetups. Whether you’re exploring tech events, organizing photography walks, planning fitness meetups, or having casual get‑togethers—it brings people together effortlessly.
It offers:
- A clean, intuitive user interface
- Real‑time data syncing & user authentication (Firebase)
- Ability to create, browse, RSVP, and manage events
- Personalized dashboard for attendees & organizers
- Messaging/integration for communication (if implemented)
Here are some current features, plus ideas in the pipeline:
| Current Features | Planned / Future Enhancements |
|---|---|
| Discover events by category | Calendar export / sync (Google, iCal) |
| Host / create your own events with details (date, time, location) | Improved search & filter (by distance, popularity, tags) |
| RSVP / join events | Notifications / reminders |
| Dashboard for my events & saved events | Media uploads (photos, videos) |
| Authentication (sign up / login) | Mobile responsiveness / PWA support |
Check it out live:
These instructions will help you get a copy of the project up and running locally.
- Node.js (v14 or higher recommended)
- npm or yarn
- A Firebase project (with Firestore / Realtime Database, Authentication)
- Environment variables / credentials for Firebase
-
Clone the repo:
git clone https://github.com/TalViloznyGrunitech/Gather.git cd Gather -
Install dependencies:
npm install # or yarn install -
Set up your
.envfile (copy from.env.exampleif provided) with your Firebase config, API keys, etc.
npm run dev
# or
yarn devThis should start the development server (via Vite) and open at localhost:3000 (or whatever port is configured).
Here’s a high‑level look at how things are organized:
/public
/src
/components
/pages
/routes
/services
/utils
App.jsx / index.jsx
.vite.config.js
package.json
.eslint.config.js
README.md
You can describe what major directories / files do, e.g.:
- components/ — reusable UI components (buttons, cards, navbar, etc.)
- pages/ — routed views (Discover, My Events, Event Details, etc.)
- services/ — API / Firebase interaction logic
- utils/ — helpers, formatting, etc.
Walk users (or contributors) through how to do common tasks:
- How to sign up / log in
- Discovering events (browsing, filtering)
- Creating a new event
- RSVP / join / cancel joining
- Managing your hosted events
- Messaging or interacting with attendees
(Optional: include screenshots or animated gifs if you have them.)
Here are goals you’re aiming toward. Helps other developers / collaborators see where the project is headed.
- Improve search & filtering (distance, tags, popularity)
- Add reminders / push notifications
- Add support for multimedia content for events
- Better mobile / responsive design
- Possibly offline mode or PWA capabilities
- User profiles with richer info (images, interests)
Thanks for considering contributing! Here are some guidelines:
- Fork the repository
- Make your feature / bug branch (
git checkout ‑b feature/SomeFeature) - Commit changes with clear messages
- Submit a pull request
Please make sure to follow the existing code style / conventions. ESLint is set up to enforce certain rules.
If you are adding substantial features, open an issue first to discuss.
This project is licensed under the MIT License – see the LICENSE file for details.
- Contributors: Shada Diab, Johra Tareef, Tal Vilozny
- Email: [TalVilozny@gmail.com]
- Project link: https://github.com/TalViloznyGrunitech/Gather