Coder Social home page Coder Social logo

tiagosapo / spaces-for-children-asp.net Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.36 MB

A demo ASP.NET MVC web app for managing childcare institutions, services, and evaluations. Features user authentication, SQL Server database integration, and responsive design with Bootstrap.

C# 28.63% CSS 0.14% ASP.NET 0.02% HTML 25.62% JavaScript 45.58%
asp-net asp-net-mvc csharp linq

spaces-for-children-asp.net's Introduction

SpacesForChildren

This project is a web application developed in ASP.NET MVC 5 and C#, presenting various functionalities and concepts of this framework. The application is named "SpacesForChildren" and presents a structure that allows the management of information about institutions, services, and evaluations, simulating a scenario of searching for places for children.

Main Features

  • User Registration and Authentication: The system offers different access profiles, including General, Parents, Institution, and Administrator, each with specific and customized functionalities.

  • General Profile: Allows viewing a list of institutions, obtained evaluations, contacts, and other relevant information.

  • Parents Profile: Includes functionalities such as registration, information requests, viewing the history of evaluations, specifying preferences for searches, and evaluating institutions.

  • Institution Profile: Allows registration of institutions, access to presented information, list of services offered, forms for activities, viewing evaluations made by parents, among other functionalities.

  • Administrator Profile: Allows general management of the system and data in the database, including approval of institution records.

  • Database Management: Uses SQL Server 2016/2017 (localdb) and Entity Framework 6.0 for data manipulation and analysis.

Additional Information

Functionality Details

Parent Profile

The General profile represents all users who have a registered Parent account on the website. With the Parent profile, users can only access the Parent tab and its respective links (View available institutions, create a new account, enroll children in institutions, make requests to institutions, view institution fees, etc.).

Institution Profile

The Institution profile represents all users who have a registered Institution account on the website. With the Institution profile, users can only access the Institutions tab and its respective links (Sign in with an existing account, create a new account, view enrolled students, view institution evaluations, add more services, respond to parent requests, etc.).

Administrator Profile

The Administrator profile represents all users who have a registered Administrator account on the website. With the Administrator profile, users can access all tabs of the website and their respective functionalities. The Administrator can view and modify all tables in the database, authorize institutions in the system, and perform all functionalities of other profiles.

General Profile

The General profile represents all users who do not have a registered account on the website. With the General profile, users can only access the General tab and its respective links (View registered institutions and parents on the website).

Other Information

Database

"Data Model" of the database:

  • Parent - Child Relationship (1:N)
  • Institution - Child Relationship (1:N)
  • Institution - Education Relationship (M:N)
  • Education - Child Relationship (1:N)
  • Education - Discipline Relationship (1:N)

The database also contains three additional entities: ParentAuthorization, InstitutionAuthorization, and Requests. When a new Parent account is created, it is initially stored in the ParentAuthorization entity until the institution approves it. Once approved, it is moved to the Parent entity. The same process applies to the Institution entity. The Requests entity stores all requests made by parents to institutions. The database was developed using the Entity Framework 6 ORM, using the "code first" approach and "fluent API" for entity relationships and naming conventions.

Access Management

A user who does not register on the website only has access to the general tab. To access other tabs, the user must register and associate their account with the desired profile in the registration form. If a user attempts to access other tabs without logging in, a login form will appear, as these tabs are restricted to users with administrator, institution, and parent profiles.

Once registered, the user is associated with the desired profile. Institutions and parents must register separately and await approval from the administrator. After approval, they can log in and access additional functionalities.

Technologies / Features Used

  • Data annotations for view model parameter/property validation.
  • Remote data annotation for JavaScript-based validation of institution, parent, and child names.
  • AJAX for dynamic loading of institution lists based on selected district.
  • jQuery script for updating the "Education Option" dropdown list based on the selected institution.
  • Identity for access restriction based on user profiles.
  • Developed using ASP.NET MVC 5 framework.
  • Developed in Microsoft Visual Studio 2015 Update 3 with .NET framework 4.6.1.
  • Bootstrap template used: Cosmo from https://bootswatch.com/3/cosmo/. Minor customizations were made to this template (in bootstrap_final.css and Site.css files) for colors, margins, image curvature, etc.

Final Notes

The project aims to demonstrate the functioning of an ASP.NET MVC application, presenting a simulated solution for managing information about institutions, services, and evaluations related to children.

spaces-for-children-asp.net's People

Contributors

tiagosapo avatar

Watchers

 avatar

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.