0% found this document useful (0 votes)
113 views45 pages

GC University, Faisalabad. Affiliated Proposal Monitor

The document describes a proposed online project management system for colleges and institutions. The system would allow students to submit project proposals, supervisors to submit and view student projects, and administrators to approve proposals, view projects, manage users, and communicate with supervisors.

Uploaded by

Rohaan CH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views45 pages

GC University, Faisalabad. Affiliated Proposal Monitor

The document describes a proposed online project management system for colleges and institutions. The system would allow students to submit project proposals, supervisors to submit and view student projects, and administrators to approve proposals, view projects, manage users, and communicate with supervisors.

Uploaded by

Rohaan CH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 45

University Community College

GC University, Faisalabad.
Affiliated proposal monitor
Abstract

Manual procedure starts from project proposal to final submission of project takes lot of time and
paper work. One way to reduce the time and paper effort is the use of Affiliated proposal
monitor. It provides one platform where the registered user will submit Project proposals, get
approval and finally display projects. Acceptations, Rejection and comments will be displayed
on site. It will also include chat, project ideas to help supervisors.

This project provide us first-hand experience about several important fields of a Computer
Engineer, like Web Development and Application Development and web development scripts
like React.js PHP,

CSS and DBMS like MY SQL.

Apart from these, we strongly believe going through this project will make us more competent
for similar future tasks and enhance our technical and other abilities
CHAPTER-1

SOFTWARE REQUIREMENT SPECIFICATION

1. Introduction
2. Stakeholders
3. Users of the system
4. Functional Requirements
a. List of Functional Requirements
b. Description of each requirement in Requirement Shell
5. Nonfunctional Requirements
6. Schedule of Project

CHAPTER-2

ANALYSIS

1. Use Case Model


a. Description of Each use case in fully dressed format
2. System Sequence Diagram (SSD) of each use case
3. Domain Model

CHAPTER-3

DESIGN

1. Design Class Diagram


2. Entity Relationship Diagram (ERD)
3. Sequence Diagrams of each SSD

CHAPTER-4

Implementation

1. Code/Algorithm of Main scenarios and Main units of systems

CHAPTER-5

Testing

1. Test Cases

GLOSSARY
CHAPTER-1

SOFTWARE REQUIREMENT SPECIFICATION


Introduction
Affiliated proposal monitor System is intended for colleges and institutions where final year
project submission plays vital role. The proposed system will act as an online project
management system which will make use of the modern communication methodologies and
techniques for information flow. The system is planned to consist of various useful features for
the said purpose.

The proposed system aims to create a platform for submission project, getting updates about the
project from admin either it will approved or not. Different users shall have different level of
access to the content. In the context of a college, university there shall be two users of the
software – administrator, supervisors. The administrator shall be able to accept or reject the
project and also update the project status like which is accepted or rejected and will be add the
comments, if the supervisor facing any problem they will be chat privately on the software. The
supervisor shall be able to add project file and then submit it. The supervisor shall be able to
check project and updates of the project by the admin.

Stakeholders

• Management officer (Admin)


• student (USER)
Users of the system

• Management officer (Admin)


• student (USER)
System Model
The Incremental model has been deemed the best suited for the SDLC process and shall be
followed. Using this model will have the benefit over the LSM in the sense that it will inherit the
quality of the LSM but exclude the rigidity. Furthermore, the feedback process of Process
Iteration model will also be available in the incremental model. Another contributing factor in
choosing this model is the short period of time available to make a working initial version of the
system.

Functional Requirments

As can be seen in the system model diagramed above, each of the three system components

essentially provides a layer of isolation between the end user and the database. The motivation

behind this isolation is twofold. Firstly, allowing the end user to interact with the system through

a rich interface provide a much more enjoyable user experience, particularly for the non-

technical users which will account for the majority of the system’s users. In addition, this

isolation layer also protects the integrity of the database by preventing users from taking any

action outside those which the system is designed to handle. Because of this design pattern, it is

essential to enumerate exactly which functions a user will be presented and these functions are

outlined below, grouped by component.

Product Features

All the features of this application is described below as

The 1st feature of our application is that it allows the user to login and View their project
information and their personal information.

1. Login

2. View project

The supervisor will submit the project of the students and view the project information.
The second feature of this project the supervisor can submit the proposal and documentation of
other projects.

The 3rd feature of this application that admin have a separate panel where he can do the following

1. Add user

2. Check proposal

3. Check user

4. Set time

5. Private chat
11. Requirement Analysis

11.1 Functional Requirements

The system should meet the following functional requirement

Requirement Name: Admin Login

Requirement #: Req01 Requirement Type: Functional


Admin should have email and password to enter in this online project
Description: management system.

To login online notice project management system.


Rationale:

Originator: Admin
Admin is logged in the system
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 8 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Supervisor Login

Requirement #: Req02 Requirement Type: Functional


Supervisor should have email and password to enter in the online project
Description: management system.

To login online project management system.


Rationale:

Originator: Supervisor
Supervisor is logged in the system.
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 7 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Supervisor Manager

Requirement #: Req03 Requirement Type: Functional


This requirement enables admin to Manage the supervisor.
Description: Admin can delete and add supervisor.

To manage supervisor in database.


Rationale:

Originator: Admin
Admin record the system.
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Project Checking

Requirement #: Req04 Requirement Type: Functional


This requirement enables admin to check the final year project of the
Description: students that are added by supervisor.

To manage projects in database.


Rationale:

Originator: Admin
Admin record the system.
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Users Checking

Req05 Requirement Functional


Requirement #:
Type:
This requirement enables admin to check the supervisors list that is added
Description: by him.

To manage users in database.


Rationale:

Originator: Admin
Admin record the system.
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Chat System

Requirement #: Req06 Requirement Type: Functional


This requirement enables admin to send/receive messages from supervisors.
Description: Admin can create group conversations with supervisors specially when they
facing difficulty.
To manage chat system in database.
Rationale:

Originator: Admin
Admin login to the system.
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Comments about Project

Requirement #: Req08 Requirement Type: Functional


This requirement enables admin to add comments with project he can
Description: include new features in project with comments.

To add comments in project.


Rationale:

Originator: Admin
Admin have record in database
Fit Criterion:

Customer Customer
Satisfaction: 10 Dissatisfaction: 5
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Admin Profile updating

Req09 Requirement Functional


Requirement #:
Type:
This requirement enables the admin to update his profile in which he
Description: can change his name, email and password.

To login online project management system to update his personal


Rationale: information.

Originator: Admin
Admin is login to the system.
Fit Criterion:

Customer Customer
10 5
Satisfaction: Dissatisfaction:
Priority: 6 Conflicts: Nil
Supporting NA
Materials:
History:
Requirement Name: Set Time

Requirement#: Req10 Requirement Functional


type:

Description: This requirement enables the admin to set time for the submission of the
project which is given to supervisor.

Rational: To login in the online project management system to set time.


Originator: Admin.

Fit criterion: Admin login to the system.


Customer Customer
satisfaction: 10 Dissatisfaction: 5

Priority: 6 Conflicts: Nil


Supporting
Material: NA

History:
Requirement Name: Add Projects

Requirement#: Req11 Requirement type: Functional

Description: This requirement enables the supervisor to submit the projects of the
students.

Rational: To login to the to the online project management system for the
submission of the project.

Originator: Supervisor

Fit criterion: To login to the system.


Customer Customer
Satisfaction: 10 Dissatisfaction: 5

Priority: 6 Conflicts: Nil


Supporting
Material: NA
History:
Requirement Name: Check Last Date

Requirement#: Req12 Requirement type: Functional

Description: This requirement enables the supervisor to check the last date for project
submission.

Rational: To login to the online project management system to see last date of
project.

Originator: Supervisor

Fit criterion: Supervisor login to the system.


Customer Customer
Satisfaction: 10 Dissatisfaction: 5

Priority: 6 Conflicts: Nil


Supporting
Material: NA
History:
Requirement Name: Update Supervisor Profile

Requirement#: Req13 Requirement type: Functional

This requirement enables the supervisor to update his profile in


Description: which he can change his name, email and password.

Rational: To login to the online project management system to change his


personal information.

Originator: Supervisor.

Fit Criterion: To login to the system.

Customer 10 Customer 5
Satisfaction: Dissatisfaction:

Priority: 6 Conflicts: Nil


Supporting
Material: NA
History:
Requirement Name: Response about Projects

Requirement#: Req14 Requirement type: Functional

This requirement enables the admin to give response to project whether it


Description: is accepted or rejected.

Rational: To login to the online project management system for give acceptation or
rejection.

Originator: Admin

Fit Criterion: To login to the system.

Customer 10 Customer 5
Satisfaction: Dissatisfaction:

Priority: 6 Conflicts: Nil


Supporting
Material: NA
History:
Requirement Name: Checking Project Status

Requirement#: Req15 Requirement type: Functional

This requirement enables the supervisor to check the project whether it


Description: is accepted or rejected by the admin.

Rational: To login to the online project management system to check project


status.

Originator: Supervisor.

Fit Criterion: To login to the system.

Customer 5 Customer 10
Satisfaction: Dissatisfaction:
Priority: 6 Conflicts: Nil
Supporting
Material: NA
History:
11.2 Nonfunctional Requirement

11.2.1 Software Quality Attributes


Several additional qualities and characteristics of the system will be important to the client
and/or the developers, like correctness, maintainability, portability, testability and usability.

 Adaptability: The system is highly adaptable by the user


 Availability: The system must be available by the user when it is needed
 Flexibility: The system is easy to understand and user friendly.
 Maintainability: The system can be maintained if any error occur after the
deployment
 Portability: The responsive system can be easily executed on different hardware
and software to the one it has been developed for.
 Reliability: The system is concise reliable and steadfast.
 Reusability: The system allow authorized user to restore data.
 Robustness: The system does not crash at the slightest disturbance due to the
unauthorized access.
 Testability: The system is accomplished of any type of testing.
 Usability: The system has well organized features for the deployment.

11.2.2 Security:
We provide the complete security to the user because it is website and there is a complete
chance of threats because we provide the complete security for securing the unauthentic persons.

11.2.3 Reliability:
The application provides failure free software operation for a specified environment.
Therefore we can say it is a reliable application.

11.2.4 Accessibility:
Our website is easy to use, it is easy to access website.

11.2.5 Documentation:
We provide complete documentation about the project which provides complete
information of the project.

11.2.6 Efficiency:
The website is efficient and does its working with a manner able method and with
efficiency.

11.2.7 Maintainability:
We provide the services of maintainability in three months if in these three months any
types of the problem are occur then we will provide the services of maintainability. After three
months we are not responsible for any problem.

11.2.8 Privacy:
We are providing the complete privacy to the customer. There is no problem of the privacy
for customer.

11.2.9 Response Time:


The website gives the quick response to the user, when they try to perform any type of
function.

11.2.10 Stability:

In the stability we describe that our application is stable and can tolerate user errors.

11.2.11 Supportability:
We make the web portal which is complete supportable.

11.2.12 Testability:

We provide the complete testability to the customer, after the complete process of testing we
complete our working. We apply all types of testing and levels of testing.

11.2.13 Fault Tolerant Design:

This application is a fault tolerant design. Because this application enables a system to
continue its intended operation, possibly at a reduced level rather than a failing completely, when
some part of the system fails

Coding:

Index.js

import React from 'react';

import ReactDOM from 'react-dom';

import { Provider } from 'react-redux';

import thunk from 'redux-thunk';

import {

createStore,

applyMiddleware,

compose

} from 'redux';
import ReduxPromise from "redux-promise";

import App from './components/app';

import store from './store';

const createStoreWithMiddleware = compose(applyMiddleware(thunk))(createStore);

ReactDOM.render(

<Provider store={createStoreWithMiddleware(store)}>

<App />

</Provider>

, document.querySelector('.container'));

App.js

import React, { Component } from 'react';

import SearchTop from '../containers/search_top';

import ServiceList from '../containers/service_list';

export default class App extends Component {

render() {

return (

<div>

<nav className="navbar navbar-dark bg-dark">

<a className="navbar-brand"><img className="logo-img" src={require('../assets/logo.png')} /></a>

<SearchTop />

</nav>

<ServiceList />
</div>

);

Filesystem.js

import React, { Component } from 'react';

import { connect } from 'react-redux';

import { bindActionCreators } from 'redux';

import { consultServices } from '../store/api_services';

import { STATUS } from "../store/status";

class SearchTop extends Component {

constructor(props) {

super(props);

this.state = { env:'dev' }

this.handleChange= this.handleChange.bind(this);

this.onFormSubmit = this.onFormSubmit.bind(this);

handleChange(event){

this.setState({ env: event.target.value });

onFormSubmit(event) {

event.preventDefault();
this.props.dispatch(consultServices(this.state.env));

render() {

return (

<form onSubmit={this.onFormSubmit} className="form-inline">

<span className="input-group-btn">

<select value={this.state.env} onChange={this.handleChange} className="form-control mr-sm-3">

<option value="dev">Development</option>

<option value="qa">Staging</option>

<option value="prod">Production</option>

</select>

{this.props.servicesStatus===STATUS.FETCHING

? <button

type="submit"

disabled={true}

className="btn btn-primary my-4 my-sm-0">Loading...</button>

: <button

type="submit"

className="btn btn-primary my-4 my-sm-0">Get status</button>

</span>

</form>

}
export default connect(state => {

return {

servicesStatus: state.services._status

})(SearchTop)

Add_proposal.php

<?php

require_once"connection.php";

session_start();

?>

<?php

if(isset($_SESSION['id'])){

$id = $_SESSION['id'];

$sql = "SELECT * FROM user WHERE id = '$id';";

$sql = mysql_query($sql);

if(!$sql){

echo mysql_error();

else{

$row=mysql_fetch_array($sql)

?>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />


<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>Home</title>

<!-- BOOTSTRAP STYLES-->

<link href="assets/css/bootstrap.css" rel="stylesheet" />

<!-- FONTAWESOME STYLES-->

<link href="assets/css/font-awesome.css" rel="stylesheet" />

<!-- CUSTOM STYLES-->

<link href="assets/css/custom.css" rel="stylesheet" />

<!-- GOOGLE FONTS-->

<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />

</head>

<body>

<div id="wrapper">

<nav class="navbar navbar-default navbar-cls-top " role="navigation" style="margin-bottom: 0">

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-collapse">

<span class="sr-only">Toggle navigation</span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<a class="navbar-brand" href="index.html"><?php $row['name']; ?></a>

</div>

<div style="color: white;

padding: 15px 50px 5px 50px;

float: right;

font-size: 16px;"><a href="logout.php?id=<?php echo $row['id']; ?>" class="btn btn-danger square-btn-adjust">Logout</a> </div>
</nav>

<!-- /. NAV TOP -->

<nav class="navbar-default navbar-side" role="navigation">

<div class="sidebar-collapse">

<ul class="nav" id="main-menu">

<li class="text-center">

<img src="<?php echo $row['img']; ?>" class="user-image img-responsive"/>

</li>

<li >

<a href="main.php"><i class="fa fa-user fa-3x"></i> Profile</a>

</li>

<?php

if($row['role'] == 'Head' ){

?>

<li>

<a href="add.php"><i class="fa fa-users fa-3x"></i>Add User</a>

</li>

<li>

<a href="chk_proposal.php"><i class="fa fa-briefcase fa-3x"></i>Check Proposal</a>

</li>
<li>

<a href="timer.php"><i class="fa fa-times-circle-o fa-3x"></i>Set Time</a>

</li>

<?php

else if($row['role'] == 'Focal Person' ){

?>

<li>

<a class="active-menu" href="add_proposal.php"><i class="fa fa-briefcase fa-3x"></i>Add Proposal</a>

</li>

<li>

<a href="chk_proposal.php"><i class="fa fa-briefcase fa-3x"></i>Check Proposal</a>

</li>

<li>

<a href="timer.php"><i class="fa fa-times-circle-o fa-3x"></i>Check Late Date</a>

</li>

<?php

?>

<li>

<a href="chh.php"><i class="fa-mail-reply-all"></i>Chat</a>

</li>
</ul>

</div>

</nav>

<!-- /. NAV SIDE -->

<div id="page-wrapper" >

<div id="page-inner">

<div class="row">

<div class="col-md-12">

<h2>Profile</h2>

<h5>Welcome <?php echo $row['name']; ?> , Love to see you back. </h5>

</div>

</div>

<!-- /. ROW -->

<hr />

<div class="form">

<form method="post" action="" enctype="multipart/form-data">

<div class="form-group">

<input type="hidden" name="role" value="Student" />

</div>

<div class="form-group">

<input type="text" name="p_title" class="form-control" placeholder="Enter Project Title"/>

</div>
<div class="form-group">

<textarea name="p_des" style="resize:none" placeholder="Enter Project Description" class="form-control"></textarea>

</div>

<?php

$sql = "SELECT * FROM user WHERE id = '$id';";

$sql = mysql_query($sql);

if(!$sql){

echo mysql_error();

else{

$row=mysql_fetch_array($sql)

?>

<div class="form-group">

<input type="hidden" name="name" value="<?php echo $row['name'];?>"/>

<input type="hidden" name="reg" value="<?php echo $row['reg'];?>" />

<input type="hidden" name="email" value="<?php echo $row['email'];?>"/>

<input type="hidden" name="college" value="<?php echo $row['college'];?>" />

</div>

<?php

?>

<div class="form-group">

<input type="file" class="form-control" name="image" required/>


</div>

<input type="submit" name="btn_sub" class="btn btn-success pull-right" />

</form>

<?php

if(isset($_POST['btn_sub'])){

$name = $_POST['name'];

$p_title = $_POST['p_title'];

$des = $_POST['p_des'];

$email = $_POST['email'];

$reg = $_POST['reg'];

$role = $_POST['role'];

$college = $_POST['college'];

$folder = 'uploads/projects/';

$path = $_FILES['image']['name'];

$cpath = $folder.$path;

move_uploaded_file($_FILES['image']['tmp_name'],$cpath);

$sql = "INSERT INTO


proposal(name,email,reg,role,college,attachment,p_title,p_des)VALUES('$name','$email','$reg','$role','$college','$cpath','$p_title','$des');";

$sql = mysql_query($sql);

if(!$sql){

echo mysql_error();

else{

?>

<script>

alert('Proposal Has Been Inserted');

</script>
<?php

?>

</div>

</div>

<!-- /. PAGE INNER -->

</div>

<!-- /. PAGE WRAPPER -->

</div>

<!-- /. WRAPPER -->

<!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME-->

<!-- JQUERY SCRIPTS -->

<script src="assets/js/jquery-1.10.2.js"></script>

<!-- BOOTSTRAP SCRIPTS -->

<script src="assets/js/bootstrap.min.js"></script>

<!-- METISMENU SCRIPTS -->

<script src="assets/js/jquery.metisMenu.js"></script>

<!-- CUSTOM SCRIPTS -->

<script src="assets/js/custom.js"></script>

</body>

<footer>

<h4 align="center">&copy; Copyright 2018, Muhammad Bilal Sadiq<h4>

</footer>
</html>

<?php

?>

Index.php

<?php

session_start();

?>

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8" />

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

<style>body{padding-top: 60px;}</style>

<link href="bootstrap3/css/bootstrap.css" rel="stylesheet" />

<link href="assets/css/login-register.css" rel="stylesheet" />

<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css">

<script src="assets/js/jquery-1.10.2.js" type="text/javascript"></script>

<script src="assets/js/bootstrap.min.js" type="text/javascript"></script>

<script src="assets/js/login-register.js" type="text/javascript"></script>


</head>

<body>

<div class="container">

</div>

<div class="col-sm-4"></div>

<div class="col-sm-4">

<div class="jumbotron">

<h2>Project management system </h2>

<h4>Login :</h4>

<div class="form">

<form method="post" action="" enctype="multipart/form-data">

<div class="form-group">

<input type="email" class="form-control" placeholder="Enter Your Email" name="email" />

</div>

<div class="form-group">

<input type="password" class="form-control" name="pass" placeholder="Enter Your Password" />

</div>

<input type="submit" name="btn_sub" class="btn btn-success pull-right" />

</form>

<footer>

<small>&copy; Copyright 2018, Muhammad Bilal Sadiq</small>

</footer>

</div>

</div>
</div>

<div class="col-sm-4"></div>

</div>

</body>

</html>

<?php

include "connection.php";

if(isset($_POST['btn_sub'])){

$em = $_POST['email'];

$pass = $_POST['pass'];

$sql = "SELECT * FROM user WHERE email = '$em' AND pass = '$pass';";

$sql = mysql_query($sql);

if(!$sql){

echo mysql_error();

else{

$row = mysql_fetch_array($sql);

if($row['email'] == $em && $row['pass'] == $pass){

$_SESSION['id']=$row['id'];

header('location:main.php');

else{
?>

<script>

alert('Your username and email is invalid');

</script>

<?php

?>
(Sample of Requirement Shell)

Requirement Name: Manage Users

Req01 Functional
Requirement #: Requirement Type:
This requirement enables users to manage users of the system. Admin can
add new users, delete old users and update users info.
Description:

To manage users

Rationale:

Administrator of the system


Originator:

User is added in the system. And database is updated.


User is deleted and
Fit Criterion:

5 10
Customer Customer
Satisfaction: Dissatisfaction:
3 Nil
Priority: Conflicts:
Supporting NA
Materials:

History:
(Sample of Fully dressed Format of Use Case)

Use Case Name: Name of the use case (Ref. ………..)

UC # Ref: Req. #

UC Name

Level (Abstract or Detailed)

Description

Actor (s)

Stakeholders

Preconditions

Success Guarantee

Main Success Action Response


Scenario
1.

2.

Extensions

Special requirements

Frequency of
Occurrence

Miscellaneous
Test Case Template
Test Case #: Test Case Name:
System: Sub System:
Designed By: Design Date:
Executed By: Execution Date:
Short Description:

Pre-Condition:

Operating System: Environment:


Software Tools &
Technologies with version
Steps Strategy Action Input Actual Result / Expected Status Remarks
(Test-to- System Result/ (Pass/Fail)
Pass) / (Test- Response Expected
to-Fail) System
(T-T-P) Or (T- Response
T-F)

Comments ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy