An access key manager platform to help school administrators generate keys to activate thier school accounts.
Micro-Focus Inc., a software company, has built a school management platform that is multitenant. This project aims to create an access key manager for schools to purchase access keys to activate their school account.
--- User Features ---
-
🔑 Signup & Login: Users can register and log in using email and password. Includes account verification and password recovery.
-
Access Key Management: Users can generate keys and track the status and expiration dates of the key.
--- Admin Features ---
- ⚙️ Manage Keys: Admins can revoke keys created by other users on the platform.
- Separate Dashboards for Admin and Non-Admin Users
- Source Code: Available here on GitHub with a well-written README.
- ER Diagram: Included in the repository.
- Deployed Link: accesskey.pythonanywhere.com
-
User
- id: Primary Key
- email: Unique Email
- password: Hashed Password
- is_staff: Boolean (indicates if the user is an admin)
-
Access Key
- id: Primary Key
- user : Foreing Key to User
- key: string
- status : string
- date_procured : DateTime
- expiry_date : DateTime
- Python 3.x
- Django 5.x
- Other dependencies listed in
requirements.txt
- Clone the repository
git clone https://github.com/luornor/Access-Key-Manager.git
- Navigate to the project directory
cd Access-Key-Manager
- Install dependencies
pip install -r requirements.txt
- Apply Migrations:
python manage.py migrate
- Create a superuser for admin access:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the application at
http://127.0.0.1:8000
.
To ensure the integrity of the application, unit tests have been written to cover various functionalities. To run the unit tests, use the following command:
python manage.py test
The project uses GitHub Actions for Continuous Integration (CI). The workflow is defined in the .github/workflows/access_key_tests.yml
file. This setup ensures that tests are automatically run on each push and pull request to the repository.
- Ensure the
.github/workflows/access_key_tests.yml
file is present in the repository. - The workflow will automatically trigger on pushes and pull requests to the repository, running the specified tests and checks.
- This integration helps maintain code quality and streamline the development process.