EventSphere is a web application built using ASP.NET MVC that allows users to host, manage, and explore events. Users can register, log in, create events, view others' events, and also browse external events fetched in real-time via a third-party API (RapidAPI). The system provides an end-to-end event management experience including categories, images, venues, and attendee tracking.
- User registration and login system
- Host and manage events with details such as name, venue, category, and date
- View and register for other hosted events
- Fetch and display external events using a real-time events API (via RapidAPI)
- Store event images and description
- Basic responsive UI using Bootstrap
If you want to quickly see how the app works, watch this demo video:
Video Link: Watch Demo
Following is the Project Document fopr EventSphere.
Project Document Project Document Pdf
The following is the structure of the database entities used in EventSphere:
Tables and Relationships:
CustomUser: Stores user dataId,UserName,Email
Event: Stores event informationId,Name,Description,Date,Location,Venue,Organizer_Name,AttendeeCount,Category,ImagePath,HostUserId
CustomUserEvent: Many-to-Many relationship between users and eventsAttendeesId,AttendedEventsId
Download/view the full ER diagram:
- Backend: ASP.NET MVC, C#
- Frontend: Razor Views, HTML/CSS, Bootstrap
- Database: SQL Server LocalDB
- ORM: Entity Framework Core
- External API: Real-Time Events Search via RapidAPI
EventSphere/
│
├── Controllers/ # Handles HTTP requests
├── Models/ # Contains data models (Event, CustomUser, etc.)
├── Views/ # Razor views for each page
├── Services/ # API integration logic
│ └── ExternalEventService.cs
│
├── appsettings.json # Contains secrets, ignored in git
├── appsettings.template.json # Example config (no secrets)
├── Migrations/ # EF Core database migrations
├── wwwroot/ # Static files like CSS/Images
└── README.md # You're here
-
Clone this repository
-
Restore dependencies:
dotnet restore -
Create a file named
appsettings.jsonin the root directory:{ "ExternalEvents": { "ApiKey": "your-api-key", "ApiHost": "real-time-events-search.p.rapidapi.com", "BaseUrl": "https://real-time-events-search.p.rapidapi.com" }, "ConnectionStrings": { "DefaultConnection": "Your_Connection_String_Here" } } -
Run the application:
dotnet run -
Navigate to the provided localhost URL in your browser.
- The API key is required to fetch external events from RapidAPI.
- Do not commit your real API key.
appsettings.jsonis already included in.gitignore.
Riddhika Arora
GitHub: github.com/riddhika05