Skip to content

nakov/Eventures

Repository files navigation

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

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

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

image image image image

Eventures RESTful API

image image image

Desktop Client

Screenshot_39 Screenshot_41 Screenshot_40 image Screenshot_43

Android Client

Screenshot_25 Screenshot_26 Screenshot_27 image Screenshot_31

About

Sample ASP.NET MVC App for CI / CD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published