Вы находитесь на странице: 1из 7

Name: Dinesh Wasalwar

Reg #: 11404154
Email Address: dinesh.wasalwar888@gmail.com
Website: https://hostelassist.com
Github: https://github.com/dineshwasalwar/hostelassist
Topic: Hostelassist website
Significance of Project
The project I undertook is to create a fully functional Content Management System (C.M.S)
which is an application that allows users to search for the rooms and the hostels.
I've chosen this topic because I felt developing such an application would help me familiarize
with PHP, MySQL and how to implement CRUD (create, read, update and delete) operations
from scratch. The project also helped me understand security and persistence of sessions in a
much better manner.

Approach Undertook
I've taken a modular programming design technique to build the web application. The whole
codebase is separated into various sub-modules like scripts, styles and most importantly PHP
templates. This have helped me in achieving maximum productivity and less code duplication.
Most of the code have been re-used, and each functionality is kept in its own module separately.
When one module requires another, it explicitly requires it, like 'database connectivity' etc. Also
for instance, mostly used/needed functions have all been saved in a separate module.

Innovative Methods
• During authentication process, instead of loading server with requests all the time
clientside validation is done before the data is sent to the database for validation.
• Persistence of Sessions for a given user.
• Separate navigational-bar view for authenticated and non-authenticated users.
• Usage of materialize.css library for fast and responsive design of the pages.
• Separation of concerns / modular approach
• Location based search is enabled to fetch the data placed in that particular geographical
location.
Brief Answers in relevance to the project codes

1. Will different sections of your site require different designs, layouts or coloring?
Ans: Yes. The look and feel of the website changes with respect to the current page the user
is on. The homepage is only displayed to a authenticated user and it pitches for the user to
sign up or sign in. For instance, there is a content-display section which uses a Listview kind
of style which is not present elsewhere on the project.

2. What kind of layout you employed in project?

Ans: I used a fluid layout which adjusts well to different screen sizes and fits to the user’s
screen resolution perfectly.
Example:
<!-- Document Wrapper
============================================= -->
<div id="wrapper" class="clearfix">

<!-- Header
============================================= -->
<header id="header" class="full-header">

<div id="header-wrap">

<div class="container clearfix">

<div id="primary-menu-trigger"><i class="icon-


reorder"></i></div>
<!-- Logo

============================================= -->
<div id="logo">
<a href="index.html" class="standard-logo" data-
dark-logo="images/logo-dark.png"><img src="images/logo.png" alt="Canvas Logo"></a>
<a href="index.html" class="retina-logo" data-dark-
logo="images/logo-dark@2x.png"><img src="images/logo@2x.png" alt="Canvas
Logo"></a>
</div><!-- #logo end -->

3. How data is fetched from database?


Ans: The user has various different ways to interact with the database depending on the
permissions.
Code snippet for admins/users data fetching:
$query_check = "SELECT * FROM admins WHERE username = '".$username1."'"; Code
snippet for content fetching:
$query = "SELECT * FROM pages WHERE subject_id = $subject_ AND visible = 1
ORDER BY position ASC";

4. What are the different kinds of explicit validations applied in the project?
Ans: Client-Side validation by JavaScript is done before the data is sent to the server for
validation. If the form field is empty no form submission is applied.
Server-Side validation is done in cases like Signup process. The username entered by the
user is checked against the DB for possible duplicate. Only if the username is unique a
successful sign-up action will yield.
5. What kind of security technique is employed in the project?
Ans: The application handles secure data like passwords of users. The password can't be
stored as normal text due to security reasons. A cryptographic hash function like SHA1(Secure
Hash Algorithm) provided by PHP API is used to change passwords into secure hast-text.
6. Does the content suffice the purpose of website in terms of functional requirements?
Ans: All the essential functionalities of a content management system are employed:

• Ability to create new posts


• Add new Properties based on location with the fees.
• Edit the post details and update the state
• Get Notifies when you are supposed to get new vacancy or availability of rooms.

7. Have you employed any php function for the modularization of web pages?
Various part of the application is put into different modules, for better code-reusability
and code-sharing purposes. For instance, the signup, login, admin, pages, subjects part of
the application is in their own files. Also, the PHP files that contain database setup,
session setup and helper functions are all kept in their own modules.
PHP functions like include, require etc... has been used to achieve the same.
8. Have you used GitHub repository to maintain different revisions of the project?
Yes. Github has been used to track the changes made to the project as it was evolving.
Commits were regularly pushed to the repo.
Link: https://github.com/dineshwasalwar/hostelassist