0% found this document useful (0 votes)
15 views25 pages

Documentation

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)
15 views25 pages

Documentation

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

1.

Introduction

1.1. Project Overview

The Document Management System (BIKA) is designed to help companies become more
organized in storing files, addressing the common issue of disordered offices where finding
documents is often challenging. This system streamlines the process of managing, searching,
and retrieving documents within an organization. It offers a range of features, including
document upload, advanced search capabilities, and comprehensive reporting, making it an
invaluable tool for enhancing office efficiency and document management.

1.2. Target Audience

This documentation is intended for a diverse audience, including system administrators,


end-users, and developers who will be managing or using the BIKA system.

 System Administrators: These users are responsible for the installation,


configuration, and maintenance of BIKA. They ensure that the system is running
smoothly, manage user permissions, and handle any technical issues that may arise.
 End-Users: These users include employees or team members within an organization
who will interact with BIKA daily. Their tasks include uploading documents,
conducting searches, retrieving files, and generating reports. This documentation
provides step-by-step instructions to help end-users navigate the system efficiently.
 Developers: Developers may need to customize or extend the functionality of BIKA.
This documentation includes technical details, such as data flow diagram, database
architecture and code structure, to assist developers in integrating BIKA with other
systems or developing new features.
 Managers and Decision-Makers: While not directly involved in the day-to-day
operation of BIKA, these stakeholders need to understand the system's capabilities
and benefits. This documentation provides an overview of how BIKA can improve
operational efficiency and contribute to better document management practices.

1.3. Document Purpose

This document serves as a comprehensive guide to understanding, installing, using, and


maintaining BIKA. It aims to provide clear and detailed information to ensure all users can
effectively utilize the system.

2. Getting Started

2.1. System Requirements

To ensure optimal performance and compatibility, the following hardware and software
requirements are necessary for running BIKA.

Hardware:
 Minimum 4GB RAM
 20GB disk space

Software:

 Operating System: Windows 10 or Linux


 PHP: Version 7.4 or higher
 MySQL: Version 5.7 or higher
 Web Server: Apache 2.4 or higher

2.2. Installation Guide

Follow these steps to install BIKA:

1. Download the Source Code


o Obtain the source code package.
2. Upload the System Files
o Use an FTP client or your web hosting control panel to upload the system files
to your web hosting server. Ensure all files and directories are correctly
placed in the web root directory.
3. Install the Database
o Create a new database on your web hosting server.
o Import the database schema by running the bika_db.sql script. This can be
done using a tool like phpMyAdmin or via the command line:

mysql -u [username] -p [password] [database_name] < bika_db.sql

o Make sure to replace [username], [password], and [database_name] with your


actual database credentials and name.
4. Configure Database Settings
o Navigate to the database configuration file in the source code (named
initialize.php).
o Edit the database connection settings to match your database credentials:

define('DB_HOST', 'localhost');
define('DB_NAME', 'bika_db');
define('DB_USER', 'your_database_user');
define('DB_PASS', 'your_database_password');

o Save the configuration file after making the necessary changes.

2.3. Configuration

Once the installation is complete, navigate to the settings page to configure essential system
parameters:

1. Database Connections
o Verify that the database connection settings are correctly configured. This
includes the database host, name, user, and password.
2. Email Server Settings
o Configure the email server settings to enable the system to send notifications
and alerts. You will need the following information:
 SMTP server address
 SMTP port
 Email address
 Email password
 Security settings (e.g., SSL/TLS)
3. User Roles and Permissions
o Define user roles and permissions to control access to various system
features. The system comes with a default admin user with the following
credentials:
 Username: admin
 Password: [provided separately]
4. Initial System Configuration
o Log in using the admin credentials to perform the initial system configuration.
This includes:
 Creating company profiles
 Adding users and assigning roles
 Setting up system settings

2.4. First-Time Login and System Setup

1. Accessing the System


o Open a web browser and navigate to the URL where the system is hosted.
2. Login with Admin Credentials
o Use the provided admin credentials to log in to the system.
3. Setting Up Companies and Users
o Once logged in, start by setting up different organizations structure. Create
company profiles and add users to companies. Assign appropriate roles and
permissions to each user to control their access levels.
4. Configuring Document Management Settings
o Define document categories, types, and any specific metadata that needs to
be captured during document upload.
5. Starting Document Management
o Begin using the system for document management. Upload documents,
perform searches, and generate reports as needed.

3. User Manual

3.1. Login and Authentication

To log in, enter your username and password on the login page. If you forget your password,
you need to contact the system Administrator to reset it for you.
3.2. Welcome Screen and Layout

Welcome Screen

Upon successful login, users are greeted with the welcome screen. The layout is designed to
be user-friendly, providing easy access to all the essential features of BIKA

Layout Overview

The layout is divided into several key areas:

1. Top Navigation Bar


o Located at the top of the screen, this bar includes the username and a
dropdown menu. Clicking on the username allows users to:
 View their profile
 Log out of the system
2. Side Navigation Panel
o Positioned on the left side of the screen, this panel contains navigation links
to various sections of BIKA. Users can:
 Expand or minimize the panel by clicking on the three-line button
(hamburger menu) located in the top navigation bar, right before the
slogan.
 Navigate to different modules such as document management,
reports, settings, and more.

Navigation Links

The navigation links in the side panel are categorized and organized to provide easy access
to different system functionalities. They include:

 Welcome: Returns the user to the main welcome screen.


 Documents: Links to document upload, search, archival, and management sections.
o Upload Document: Allows users to upload new documents to the system.
o Search Document: Provides a quick link to the advanced search functionality.
o Archive: Access to archived documents.
 Reports: Quick access to various reports generated by the system.
 Settings: System settings and configurations.
o File Naming & Access: Configuration and management of document types
and access.
o User Management: User account and permission management (admin and
managers).
o Departments: Management of departments within the organization.
o Companies: Management of companies (admin only).
o System Settings: Access to system configuration settings (admin only).

Dashboard Cards

The welcome screen features different cards displayed to the user based on their role and
permissions. These cards provide quick access to key actions and features:

 Search Documents: Provides a quick link to the advanced search functionality.


 Upload Document: Allows users to upload new documents to the system.
 Archive: Quick access to archived documents.
 Reports: Quick access to various reports generated by the system.
 Document Types: Configuration and management of document types.
 Departments: Management of departments within the organization.
 Companies: Management of companies (admin only).
 Users: Management of user accounts and permissions (admin and managers).
 System Settings: Access to system configuration settings (admin only).
 My Profile: View and update personal profile information.

Each card is an actionable link, directing the user to the respective section for performing
the task.
3.3. Features and Functionalities

Document Management

 Upload Document: Click on 'Upload Document' and fill in the required details to
upload new documents to the system.

To upload a document to the system, follow these steps:

Step 1: Click on 'Upload Document'


Click on the 'Upload Document' link from the navigation menu.

Step 2: Select Document Type


A list of available file types, which the user has access to, will appear. Select the
appropriate document type from the list.

Step 3: Provide Document Details


Fill in the required details such as the document reference number, year, and month.
Step 4: Upload Document
After providing the document details, a form to upload document details will be
given. Upload the document attachment from the left side.

 Search Document: Use the 'Search Document' feature to find documents by


keywords, date, or other criteria.
 To search for documents using the 'Search Document' feature, follow these steps:

Step 1: Click on 'Search Document'


Navigate to the 'Search Document' section and click on it.

Step 2: Enter Search Criteria & Initiate Search


A form with various search criteria will appear. Enter the desired keywords, date
range, or any other criteria to refine your search. After entering the search criteria,
initiate the search. The system will process your request and retrieve relevant
documents based on the provided criteria.

Step 3: Review Search Results


The search results will be displayed in the form of a table, showing all documents
that match the specified criteria. Review the results to find the document you are
looking for.

Step 5: Select Document


From the search results table, select the document you wish to view or interact with.
Click on the document entry to access detailed information or perform further
actions.
 Archive: Access and manage archived documents.

Access and manage archived documents using the following steps:

Step 1: Click on 'Archive'

Navigate to the 'Archive' section and click on it.

Step 2: Select File Type

Upon clicking 'Archive', you will see a list of available file types that you have access to.
Choose the desired file type from options such as 'eX', 'Sale', 'Expenses', 'Taxes', etc.
Step 3: Explore Folders

Once you've selected a file type, you'll see folders available for that type. Explore the folders
to locate the archived documents. Each folder represents a specific category or
classification.

Choose Viewing Mode

On the folder page, you have two viewing modes:

 Table View: Displays folders and their details in a tabular format, including
information such as folder color, physical storage location (office, cupboard, drawer),
etc.

 Graphical View: Presents folders graphically with names and references for easier
visualization.

Step 5: View Documents

Navigate to the document page by clicking on a specific folder. Here, you have two viewing
options:

 Table View: Provides a detailed table view of documents within the selected folder,
offering comprehensive information about each document.
 Graphical View: Offers a graphical representation of documents, facilitating visual
identification and navigation.

Step 6: Open Document

Select the document you wish to view or interact with. Click on the document entry to open
and view its contents.

 File Naming & Access: Configure and manage document types and access
permissions.

Configure and manage document types and access permissions using the following
steps:
Step 1: View File Types
Upon clicking on the 'File Naming & Access' section, you will see a list of configured
file types that you have access to. At the top of the list, there's a button to create a
new file type.
Step 2: Create New File Type
To create a new file type, click on the 'Create New' button. A form will appear where
you can provide the file type name, details, and select the department the file
belongs to. This ensures that users from the selected department have access to the
file type.

Step 3: Edit File Type (System Admin of the company Only)


For system admins, they can edit the information of the created file type by clicking
on the 'Edit File' button.
Here, they can also add fields required to record information of the file, including
field name, data types, form input types, and default values if any.

Step 4: Create Folder


To create a folder, users can click on the list of document file types available to
them. Then, the list of folders in that file type will be shown in a table format,
displaying information like color in physical storage, office, cupboard, and drawer for
easy localization.
Step 5: Configure Folder
Users can either create a new folder or configure existing folders. To create a new
folder, they can click on the 'Create New' button. A form will appear where they can
fill in details such as name, reference, color, office, cupboard, and drawer. After
filling them, the folder will be available to upload documents, accessible only to the
department of the user.

Step 6: Edit Folder


To edit a folder, users can click on the 'Edit' button of the folder from the list. Here,
they can edit the provided information and add departments that need access to this
folder.
User Management

 User Accounts: Manage user accounts, including adding new users, editing user
information, and setting permissions.

Manage user accounts efficiently using the following steps:

Step 1: Access User Management


As a System Administrator, you have access to manage user accounts. Click on the
'User Management' section to proceed.

Step 2: Add New User


To add a new user, click on the 'Add New User' button. A form will appear where you
can provide the user's details, including name, password (to be changed upon login),
and position role.
Step 3: Edit User Details
Users can be edited by selecting them from the table list. Click on the user's name or
the 'Edit' button to modify their details. This includes updating the user's name,
password, and position role.

Step 4: Set Permissions


One crucial aspect of user management is setting permissions. System
Administrators can adjust a user's permissions, including their role, which
determines their access to different files and functionalities within the system. This
ensures that users only have access to the resources relevant to their role and
department.
 My Profile: View and update personal profile information.

Manage your personal profile effortlessly with just two simple steps:
 Step 1: Access My Profile
 Click on your name or the 'My Profile' link in the top right navigation menu to access
your personal profile settings.
 Step 2: View and Edit
 Once in the profile settings, you can view your current profile information and make
any necessary edits including the password if you wish, directly within the form fields
provided.

Reports

 Generate Report: Select the report type and date range, then click 'Generate' to
create reports.

Creating comprehensive reports is a breeze with just a few simple steps:

Step 1: Access Report Generation


Navigate to the 'Report Generation' section and select the desired report type from
the available options. Additionally, specify the date range for the report.
Step 2: Generate Report
After selecting the report type and date range, click on the 'Generate' button to
create the report. The system will compile the necessary data and present the
generated report for your review.

 Export to Excel: Click the 'Export' button to download the report in Excel format.

Step 3: Export Report


Once the report is generated, you can export it to Excel format for further analysis or
sharing. Simply click on the 'Export' button to download the report in Excel format.

System Configuration

 System Settings: Access and modify system settings and configurations. ( Admin
only)

Managing the system settings is a crucial task reserved for the system administrator.
This section allows the administrator to access and modify various configurations
essential for the proper functioning and branding of the system.
Step 1: Access System Settings
Click on the 'System Settings' section. This will open the system settings page where
you can view and edit the current configurations.
Step 2: View and Edit System Settings
On the system settings page, you can view and modify various settings such as the
system logo, cover image, and name. To update any of these settings, click on the
respective fields, make the necessary changes, and save them.

 Departments: Manage departments within the organization.

Managing departments within the organization is streamlined and straightforward,


ensuring you can easily maintain an accurate and up-to-date departmental structure.

Step 1: Access Department Management


Click on the 'Departments' section. This will display a list of all departments within
your company.

Step 2: Add New Department


To add a new department, click on the 'Add New Department' button located above
the department list. A form will appear on the right, where you can enter the name
of the new department.

Step 3: Edit Existing Department


To edit an existing department, select the department from the list. This will open a
form where you can update the department name. Additionally, you can view and
add positions available within the department.

 Companies: Manage company information (admin only).

Managing company information is a task reserved for the system administrator. This
section allows the administrator to view, add, and edit details of companies that use
the system.

Step 1: Access Companies Section


Click on the 'Companies' section. This will open the page displaying the list of
companies currently configured in the system.

Step 2: View Configured Companies


On this page, you can view the details of all the companies that are using the system.
The list shows each company's name and basic contact information.
Step 3: Add a New Company
To add a new company, click on the 'Create New' button. This will open a form
where you can enter the new company's details, such as the company name and
contact information.

Step 4: Edit Existing Company


To edit an existing company's details, select the company from the list and click on
the 'Edit' button. This will open the company's details in a form where you can make
the necessary changes.
4. System Architecture

4.1. Overview

The system employs a client-server architecture, providing a robust and scalable platform
for document management. The architecture supports a web-based client interface that
interacts seamlessly with the backend server, ensuring efficient data processing and storage.

4.2. Components

 Frontend: The user interface is developed using modern web technologies to ensure
responsiveness and usability.
o HTML: Structures the content of the web pages.
o CSS: Styles the user interface, providing an aesthetically pleasing and
consistent appearance.
o JavaScript: Adds interactivity and dynamic behavior to the web pages,
enhancing user experience.
 Backend: The server-side logic and data management are handled by robust
technologies to ensure security and performance.
o PHP: A server-side scripting language that processes requests, handles
business logic, and interacts with the database.
o MySQL: A relational database management system that stores and manages
the system's data, ensuring data integrity and efficient retrieval.

4.3. Data Flow Diagrams

4.4. Database Schema

The database schema is designed to ensure data integrity and efficiency, adhering to the
principles of the third normal form (3NF) to eliminate redundancy and ensure referential
integrity.

5.1. Code Structure

The code is organized in a structure that facilitates maintainability and scalability:

 Models: Located in the /Classes directory, these handle the data and business logic.
 Views: Stored in the /admin directory, these files manage the presentation and user
interface.
 Controllers: There isn't a distinct controllers directory. The configuration and control
logic are managed through the config.php file and potentially other related scripts.

5.2. Setup for Development

To set up the development environment, follow these steps:

1. Clone the Repository: Obtain the source code from the owner and clone the
repository to your local development environment.
git clone <repository-url>

2. Install Dependencies: Ensure you have Composer installed, then run the following
command in the root directory of the project to install necessary dependencies:

composer install

3. Set Up the Database: Create a MySQL database and import the provided SQL scripts
to set up the necessary tables and initial data.

mysql -u <username> -p <database_name> < path/to/sql/script.sql

4. Configure the Database: Update the database connection settings in the config.php
file to match your local development environment.

// Example configuration
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'your_username');
define('DB_PASSWORD', 'your_password');
define('DB_NAME', 'your_database_name');

5.3. Build and Deployment

To build and deploy the application, follow these steps:

1. Deploy the Application: Upload the application files to your web server. Ensure all
dependencies and configurations are correctly set up. Configure the database
settings in the config.php file to match the production environment.
2. Finalize Setup: Verify that all settings are correct and that the application is properly
connected to the database. Perform any additional configurations as needed to
ensure the application is fully operational.

6. Maintenance and Support

6.1. Backup Procedures

Regular backups are crucial for ensuring data integrity and disaster recovery. Follow these
steps to schedule and perform backups:

1. Automate Backups: Use the provided backup.sh script to automate the backup
process. This script backs up both the database and the uploaded documents.

#!/bin/bash
# backup.sh - Script to back up the database and uploaded documents

# Define backup directory and file name


BACKUP_DIR="/path/to/backup/directory"
DATE=$(date +%Y%m%d%H%M%S)
DB_BACKUP="db_backup_$DATE.sql"
FILES_BACKUP="files_backup_$DATE.tar.gz"
# Backup database
mysqldump -u <username> -p<password> <database_name> > $BACKUP_DIR/$DB_BACKUP

# Backup uploaded documents


tar -czf $BACKUP_DIR/$FILES_BACKUP /path/to/uploaded/documents

echo "Backup completed successfully."

2. Schedule Backups: Schedule the backup.sh script to run at regular intervals using a
cron job.

# Open crontab
crontab -e

# Add the following line to schedule backups daily at midnight


0 0 * * * /path/to/backup.sh

6.2. Update Process

To keep the application up-to-date with the latest features and security patches:

1. Download the Latest Version: Obtain the latest version of the application from the
repository.

git pull origin main

2. Replace Old Files: Carefully replace the old files with the new ones, ensuring you
keep the configuration files intact. This helps to maintain your custom settings and
database connections.

cp -r new_version/* /path/to/application/

3. Run Database Migrations: If there are any database schema changes, run the
necessary migration scripts to update the database.

php artisan migrate

6.3. Logging and Monitoring

Effective logging and monitoring are essential for maintaining the health of the application:

1. Access Logs: Logs are stored in the /logs directory. Regularly review these logs to
identify and address any issues.

tail -f /path/to/logs/application.log

2. Use Log Viewer Tools: Utilize log viewer tools to analyze and manage log files more
efficiently. These tools can help you filter, search, and visualize log data for better
troubleshooting.
o Logrotate: Automatically manage log file rotation and compression to
prevent log files from growing too large.
o Splunk or ELK Stack: Use advanced log analysis tools for comprehensive
monitoring and analysis.

7. Appendices

7.1. Glossary

 HTML: Hypertext Markup Language


 PHP: Hypertext Preprocessor
 CSS: Cascading Style Sheets
 3NF: Third Normal Form
 SQL: Structured Query Language
 MySQL: My Structured Query Language
 ELK: Elasticsearch, Logstash, and Kibana

You might also like