The Records Storage System is a Django-based web application designed to streamline records storage, management, and retrieval across multiple departments.
- User authentication and role-based access control.
- Department-specific record management.
- Secure document uploads and downloads.
- Email verification and two-factor authentication.
- Activity logs for monitoring record interactions.
- Responsive design for desktop and mobile usage.
- Backend: Django 5.1
- Frontend: HTML, CSS, JavaScript
- Database: MySQL
- Server: Waitress (for production serving)
- Additional Libraries:
- django-allauth for authentication.
- django-otp for two-factor authentication.
Before you begin, ensure you have the following installed:
- Python 3.8 or higher
- MySQL Server
- Git
- Virtualenv (recommended)
git clone https://github.com/your-username/application-records-storage.git
cd application-records-storage
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Update the DATABASES section in settings.py with your MySQL credentials:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_database_user',
'PASSWORD': 'your_database_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
python manage.py migrate
python manage.py collectstatic
python manage.py runserver
Alternatively, for production:
waitress-serve --port=8000 records_storage.wsgi:application
Development: http://127.0.0.1:8000
Production: Replace 127.0.0.1
with your server's IP
- URL:
/admin
- Default login: Update via Django admin interface.
- Register and verify email.
- Enable two-factor authentication for added security.
- Upload, categorize, and manage department-specific files.
- Static files (CSS, JS) are managed using Django's
collectstatic
. - Ensure that a web server (e.g., Nginx) is configured to serve static files in production.
This project is licensed under MIT
For questions or support:
Email: erickochieng830@gmail.com
GitHub:Erick-Ochieng56