{"id":25531932,"url":"https://github.com/m-ah07/event-planner-assistant","last_synced_at":"2026-02-28T19:01:27.586Z","repository":{"id":277192859,"uuid":"916504251","full_name":"m-ah07/Event-Planner-Assistant","owner":"m-ah07","description":"A full-stack event management application designed to streamline the process of planning, scheduling, and managing events. Built with a modern tech stack featuring a React frontend, Node.js/Express backend, MongoDB database, and JWT-based authentication. Includes optional Docker support for easy deployment.","archived":false,"fork":false,"pushed_at":"2025-02-13T09:15:44.000Z","size":153,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-20T17:48:35.227Z","etag":null,"topics":["authentication","bootstrap","css","docker","dynamic-ui","event-management","event-planning","express","full-stack","html","javascript","jwt","mongodb","nodejs","open-source","planning","react","responsive-design"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m-ah07.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-14T08:19:53.000Z","updated_at":"2025-02-19T01:34:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"3222033c-5cd0-4db9-a25b-e73e72b4ea82","html_url":"https://github.com/m-ah07/Event-Planner-Assistant","commit_stats":null,"previous_names":["m-ah07/event-planner-assistant","marwan-ahmed-23/event-planner-assistant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/m-ah07/Event-Planner-Assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-ah07%2FEvent-Planner-Assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-ah07%2FEvent-Planner-Assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-ah07%2FEvent-Planner-Assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-ah07%2FEvent-Planner-Assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m-ah07","download_url":"https://codeload.github.com/m-ah07/Event-Planner-Assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-ah07%2FEvent-Planner-Assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29948228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T18:42:55.706Z","status":"ssl_error","status_checked_at":"2026-02-28T18:42:48.811Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","bootstrap","css","docker","dynamic-ui","event-management","event-planning","express","full-stack","html","javascript","jwt","mongodb","nodejs","open-source","planning","react","responsive-design"],"created_at":"2025-02-20T01:42:21.148Z","updated_at":"2026-02-28T19:01:27.575Z","avatar_url":"https://github.com/m-ah07.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Planner Assistant (Full Stack Edition)\n\nA comprehensive full-stack application designed to help individuals and organizations efficiently plan, schedule, and manage events. This **major update** introduces a **React** frontend, a **Node.js/Express** backend, **MongoDB** for data storage, **JWT** authentication, and optional **Docker** deployment.\n\n\n\n## Table of Contents\n\n1. [Key Features](#key-features)  \n2. [Tech Stack](#tech-stack)  \n3. [Installation](#installation)  \n4. [Usage](#usage)  \n5. [Project Structure](#project-structure)  \n6. [Contributing](#contributing)  \n7. [License](#license)\n\n\n## Key Features\n\n- **User Authentication**  \n  Register and log in with JWT-based authentication to secure API routes.\n\n- **Event Management**  \n  Create, edit, view, and delete events. Each event can include a date, description, and more.\n\n- **Responsive Interface**  \n  Built with React and Bootstrap for a modern, mobile-friendly UI.\n\n- **Protected API Endpoints**  \n  Authorization tokens (JWT) ensure only authenticated users can access or modify their own events.\n\n- **Docker Support** (Optional)  \n  Quickly deploy the backend, frontend, and MongoDB as separate services using `docker-compose`.\n\n\n## Tech Stack\n\n- **Frontend**  \n  - [React](https://reactjs.org/) + [React Router](https://reactrouter.com/)  \n  - [Bootstrap](https://getbootstrap.com/)  \n\n- **Backend**  \n  - [Node.js](https://nodejs.org/en/) + [Express](https://expressjs.com/)  \n  - [MongoDB](https://www.mongodb.com/) via [Mongoose](https://mongoosejs.com/)  \n\n- **Authentication**  \n  - [JWT (jsonwebtoken)](https://www.npmjs.com/package/jsonwebtoken) for secure token handling  \n  - [bcrypt](https://www.npmjs.com/package/bcrypt) for password hashing  \n\n- **Deployment**  \n  - [Docker](https://www.docker.com/) and [docker-compose](https://docs.docker.com/compose/) (Optional)  \n\n## Installation\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone https://github.com/m-ah07/Event-Planner-Assistant.git\n   ```\n\n2. **Install Backend Dependencies**\n\n   ```bash\n   cd Event-Planner-Assistant/backend\n   npm install\n   ```\n\n3. **Install Frontend Dependencies**\n\n   ```bash\n   cd ../frontend\n   npm install\n   ```\n\n4. **Configure Environment Variables**  \n   - Create a `.env` file in `backend/` (or use another method) with variables like:\n     ```\n     DB_URI=mongodb://localhost:27017/event_planner\n     JWT_SECRET=mysecretkey\n     PORT=5000\n     ```\n   - Adjust these values based on your environment (local or production).\n\n## Usage\n\n### **Local Development (No Docker)**\n\n1. **Start MongoDB**  \n   Ensure you have a MongoDB instance running locally on port `27017`, or update `DB_URI` in your `.env`.\n\n2. **Run Backend**  \n   In the `backend` folder, start the server:\n   ```bash\n   npm run dev\n   ```\n   By default, it listens on `http://localhost:5000`.\n\n3. **Run Frontend**  \n   In another terminal, go to the `frontend` folder:\n   ```bash\n   npm start\n   ```\n   The React app will run on `http://localhost:3000`.\n\n4. **Open the App**  \n   - Visit `http://localhost:3000` in your browser.\n   - Sign up or log in to create and manage events.\n\n### **Using Docker (Optional)**\n\n1. **Build and Run with docker-compose**  \n   From the project root:\n   ```bash\n   docker-compose up --build\n   ```\n2. **Access the Services**  \n   - **Frontend**: `http://localhost:3000`\n   - **Backend API**: `http://localhost:5000`\n   - **MongoDB** container internally at `mongo:27017` (exposed if configured in `docker-compose.yml`)\n\n\n## Project Structure\n\n```plaintext\nEvent-Planner-Assistant/\n├── backend/\n│   ├── src/\n│   │   ├── app.js                  # Express server setup \u0026 main configuration\n│   │   ├── routes/\n│   │   │   ├── users.js            # Routes for user signup/login\n│   │   │   └── events.js           # Routes for event CRUD operations\n│   │   ├── controllers/\n│   │   │   └── eventController.js  # Business logic for event routes\n│   │   ├── models/\n│   │   │   ├── User.js             # Mongoose schema/model for User\n│   │   │   └── Event.js            # Mongoose schema/model for Event\n│   │   └── middleware/\n│   │       └── auth.js             # JWT auth middleware to protect routes\n│   ├── package.json                # Backend dependencies and npm scripts\n│   └── Dockerfile (optional)       # Docker setup for the backend\n├── frontend/\n│   ├── public/\n│   │   └── index.html              # Main HTML template for the React app\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── EventList.jsx       # Displays list of events\n│   │   │   ├── EventForm.jsx       # Form to create/edit an event\n│   │   │   └── AuthForm.jsx        # Signup \u0026 login forms\n│   │   ├── services/\n│   │   │   └── api.js              # Axios instance \u0026 API calls with interceptors\n│   │   ├── App.js                  # Main React component\n│   │   └── index.js                # Entry point for React application\n│   ├── package.json                # Frontend dependencies and npm scripts\n│   └── Dockerfile (optional)       # Docker setup for the frontend\n├── docker-compose.yml (optional)   # Defines multi-container setup (backend, frontend, DB)\n├── README.md                       # Project documentation\n└── LICENSE                         # License file\n```\n\n## Contributing\n\n1. **Fork** the repository.  \n2. **Create a new branch**:  \n   ```bash\n   git checkout -b feature/my-feature\n   ```\n3. **Commit your changes**:  \n   ```bash\n   git commit -m \"Add a new feature\"\n   ```\n4. **Push** your branch:  \n   ```bash\n   git push origin feature/my-feature\n   ```\n5. **Open a Pull Request** on GitHub.\n\nWe welcome improvements, bug fixes, and suggestions!\n\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).  \nFeel free to modify and distribute as needed.\n\n\n---\n\n\n**Enjoy planning your events with ease!** For any questions, issues, or feature requests, please [open an issue](https://github.com/marwan-ahmed-23/Event-Planner-Assistant/issues) or submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-ah07%2Fevent-planner-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm-ah07%2Fevent-planner-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-ah07%2Fevent-planner-assistant/lists"}