https://github.com/nakov/eventures
Sample ASP.NET MVC App for CI / CD
https://github.com/nakov/eventures
Last synced: 9 months ago
JSON representation
Sample ASP.NET MVC App for CI / CD
- Host: GitHub
- URL: https://github.com/nakov/eventures
- Owner: nakov
- Created: 2021-02-16T19:28:49.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-12-21T16:09:50.000Z (about 3 years ago)
- Last Synced: 2025-04-05T05:51:12.176Z (9 months ago)
- Language: C#
- Size: 4.55 MB
- Stars: 9
- Watchers: 2
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Eventures C# App + RESTful API + Desktop Client + Android Client
Sample apps for demonstrating how to implement **continuous integration** and build a CI/CD pipeline with **GitHub Actions**.
- Target platform: .NET 5
- CI system: GitHub Actions
- Seeded database with one user and three events
- Default user credentials: **guest** / **guest**
## Eventures Web App
Live demo in Replit: [Eventures Web App](https://eventures-web-app.softuniorg.repl.co)
The ASP.NET Core app "Eventures" is an app for creating events.
* Technologies: C#, ASP.NET Core, Entity Framework Core, ASP.NET Core Identity, NUnit
* The app supports the following operations:
- Home page (view events count + menu): `/`
- View events: `/Events/All`
- Create a new task (name + place + start date + end date + total tickets + price per ticket): `/Events/Create`
- Edit event: `/Events/Edit/:id`
- Delete event: `/Events/Delete/:id`
## Eventures RESTful API
Live demo in Replit: [Eventures Web API](https://eventures-web-api.softuniorg.repl.co)
The following endpoints are supported:
- `GET /api` - list all API endpoints
- `GET /api/events` - list all events
- `GET /api/events/count` - returns events count
- `GET /api/events/:id` - returns an event by given `id`
- `POST /api/events/create` - create a new event (post a JSON object in the request body, e.g. `{ "name": "Open Fest", place": "Borisova Garden", start": "2022-08-14T10:00:00.000Z", "end": "2022-08-15T18:00:00.000Z", "totalTickets": 500, "pricePerTicket": 15 }`)
- `PUT /api/events/:id` - edit event by `id` (send a JSON object in the request body, holding all fields, e.g. `{ "name": "Open Fest", place": "Borisova Garden", start": "2022-08-14T10:00:00.000Z", "end": "2022-08-15T18:00:00.000Z", "totalTickets": 500, "pricePerTicket": 15 }`)
- `PATCH /api/events/:id` - partially edit event by `id` (send a JSON object in the request body, holding the fields to modify, e.g. `{ place": "South Park Sofia", "pricePerTicket": 12 }`)
- `DELETE /api/events/:id` - delete event by `id`
- `GET /api/users` - list all users
- `POST /api/users/login` - logs in an existing user (send a JSON object in the request body, holding all fields, e.g. `{"username": "username", "password": "pass123"}`)
- `POST /api/users/register` - registers a new user (send a JSON object in the request body, holding all fields, e.g. `{"username": "username", "email": "user@example.com", "password": "pass123", "confirmPassword": "pass123", "firstName": "Test", "lastName": "User"}`)
## Desktop Client
Windows Forms client app for the Eventures RESTful API.
* Technologies: C#, .NET 5, Windows Forms, RestSharp
## Android Client
Android mobile app client for the Eventures RESTful API.
* Technologies: Java, Android SDK, Retrofit HTTP client
* Platform: Android
## Screenshots
Screenshots from the Eventures apps.
### Eventures Web App




### Eventures RESTful API



### Desktop Client





### Android Client




