{"id":21666651,"url":"https://github.com/anasyakubu/pip3-event-management-api","last_synced_at":"2026-04-11T11:03:53.308Z","repository":{"id":252828298,"uuid":"841581088","full_name":"anasyakubu/pip3-event-management-api","owner":"anasyakubu","description":"A Node.js and Express.js API for managing events, including creation, registration, and feedback. Features secure user authentication with JWT, and password hashing with bcrypt. Integrates MongoDB for data storage and optionally supports email notifications with Nodemailer.","archived":false,"fork":false,"pushed_at":"2024-08-16T18:33:08.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T06:46:52.467Z","etag":null,"topics":["api-rest","expressjs","jwt","middleware","mongodb","mongodb-atlas","mongoose","nodejs","nodemailer","vercel"],"latest_commit_sha":null,"homepage":"https://pip3-event-management-api.vercel.app","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/anasyakubu.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}},"created_at":"2024-08-12T17:33:20.000Z","updated_at":"2024-08-16T18:33:12.000Z","dependencies_parsed_at":"2024-08-16T07:44:47.263Z","dependency_job_id":"f83dc1f0-256a-48ad-b103-3d6594e53af6","html_url":"https://github.com/anasyakubu/pip3-event-management-api","commit_stats":null,"previous_names":["anasyakubu/pip3-event-management-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anasyakubu/pip3-event-management-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Fpip3-event-management-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Fpip3-event-management-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Fpip3-event-management-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Fpip3-event-management-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anasyakubu","download_url":"https://codeload.github.com/anasyakubu/pip3-event-management-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Fpip3-event-management-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31677819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: 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":["api-rest","expressjs","jwt","middleware","mongodb","mongodb-atlas","mongoose","nodejs","nodemailer","vercel"],"created_at":"2024-11-25T11:28:25.327Z","updated_at":"2026-04-11T11:03:53.279Z","avatar_url":"https://github.com/anasyakubu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Management API\n\nThe Event Management API facilitates the creation, management, and participation in events. It provides a seamless experience for organizers and attendees, covering event creation, attendee registration, event information display, and feedback collection.\n\n## Features\n\n1. **Event Creation and Management**\n\n   - Organizers can create, modify, and delete events.\n   - Events can include details such as title, description, date, time, location, and capacity.\n\n2. **Attendee Registration**\n\n   - Users can register for events.\n   - Validation ensures that events do not exceed their maximum capacity.\n\n3. **Event Information Display**\n\n   - Participants can view event details, including schedules and location information.\n\n4. **Feedback and Rating**\n   - After the event, attendees can provide feedback and rate the event.\n\n## Technologies\n\n- **Node.js**: Server-side JavaScript runtime.\n- **Express.js**: Web framework for building the API.\n- **MongoDB**: NoSQL database for storing event and attendee data.\n- **Mongoose**: ODM for MongoDB to manage database schemas.\n- **JWT (JSON Web Tokens)**: For user authentication and securing endpoints.\n- **bcrypt**: For hashing user passwords.\n- **Nodemailer** (optional): For sending email notifications.\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/event-management-api.git\n   ```\n2. Navigate to the project directory:\n   ```bash\n   cd event-management-api\n   ```\n3. Install dependencies:\n   ```bash\n   npm install\n   ```\n4. Set up environment variables:\n\n   - Create a `.env` file in the root directory.\n   - Add the following variables:\n     ```\n     PORT=your_port\n     MONGO_URI=your_mongodb_uri\n     JWT_SECRET=your_jwt_secret\n     ```\n\n5. Start the server:\n   ```bash\n   npm start\n   ```\n\n## API Endpoints\n\n### Authentication\n\n- **POST /api/auth/register**: Register a new user.\n- **POST /api/auth/login**: Login and receive a JWT.\n\n### Events\n\n- **GET /api/events**: Retrieve a list of all events.\n- **GET /api/events/:id**: Retrieve details of a specific event.\n- **POST /api/events**: Create a new event (requires authentication).\n- **PUT /api/events/:id**: Update an existing event (requires authentication).\n- **DELETE /api/events/:id**: Delete an event (requires authentication).\n\n### Attendees\n\n- **POST /api/events/:id/register**: Register for an event (requires authentication).\n\n### Feedback\n\n- **POST /api/events/:id/feedback**: Provide feedback and rate an event (requires authentication).\n\n## Security\n\n- **JWT Authentication**: Secures endpoints by requiring valid tokens for protected routes.\n- **Password Hashing**: User passwords are hashed using `bcrypt` before being stored.\n\n## Optional Features\n\n- **Email Notifications**: Using Nodemailer, the API can send notifications to users about event updates or confirmations.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request for review.\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasyakubu%2Fpip3-event-management-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanasyakubu%2Fpip3-event-management-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasyakubu%2Fpip3-event-management-api/lists"}