Giter Site home page Giter Site logo

cinema's Introduction


Logo

Cinema

C# implementation of a console software representing a Cinema with film and events.

WCF Service for Client-Server, Server-Database connections and SQL Server Express

Table of Contents

About The Project

Cinema simulates a cinema with different Film, Hall and Show (here called Events). It's a console program that uses WCF Services to book tickets of a cinema trough a series of command lines.

The system is made up of a MySQL Server Express Database to which the WCFDatabaseManager connects to, which has the task to keep the personal data of the users, the administrators, the film, the events, informations about the hall and the informations about a user's ticket (here called Prenotation). A user can register to the cinema, or buy a ticket for an event and see the list of the events and the film the Cinema has. An administrator can do some management operations.

Every change is stored on the database.

Every member has a different username, and the other tables has a integer as a primary key, to make every data unique.

A new user can register to the system by giving his personal data and choosing an username which must be not already taken. The system provides to forbid the assignment of a username if a person with that same username already exists. In this case, it provides to notify the error to the user. Once he signs in, he buy a ticket for an event, see the list of the film and the events available, and the history of his prenotations (his tickets).

Administrators can register themselves by inserting a username which must not to belong to others admins and log in the system. They can see the list of the members registered to the club, edit them or delete their accounts from the database. They can add and delete film, events, and delete the prenotations of a user. They have access at every sort of list in the database: events, film, prenotations and users ones.

The system has a console GUI, that starts with the login/registration form.

- You have to select if you want to sign in as a user or as administrator. Once you insert the right credentials
   the system will open your menu.

- You can register yourself to the database by inserting an username, which as primary key of the table must be 
   different from anyone else. Your password will be hidden when you insert it and it will be stored hashed, 
  once you complete the registration. From now you can login with your new credentials.

- Once logged you will be redirected to your menu, where the console input of a integer number will guide you to 
   the different operations you are allowed to perform. From this page you can also choose to logout by pressing
  the number related to "Back" action, to come back to the login/registration form.

Database Scheme

database

UML Diagrams

Administrator Use Case

adminUseCase

User Use Case

userUseCase

Getting Started

You can just clone this repository and run the "script + data.sql" in "Database/" folder to create the database with some data already in. Before that, remember that the program requires 2 NuGet Packets installed.

Libraries

The program requires two NuGet Packets to be executed.

Updates

Pull this repository for updates.

LICENSE

Distributed under the GPL License. See LICENSE for more information.

Icons made by mynamepong from www.flaticon.com
Icons made by Freepik from www.flaticon.com

SCREENSHOTS

wcfDatabaseManager

wcfServer

mainPage

login

adminPage

users

events

userPage

buyTicket

showFilm

CONTRIBUTORS

Daniele Pellegrini - 285240

Riccardo Fava - 287516

cinema's People

Contributors

danielepelleg avatar belericks11 avatar

Stargazers

 avatar Simone Montali avatar

Watchers

 avatar

Forkers

belericks11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.