Welcome to Nexus Pet Portal, your ultimate destination for managing animals in the shelter and finding them loving homes! π πΆπ±
Nexus Pet Portal is a heartwarming Animal Shelter Management System designed to simplify the process of caring for and finding homes for shelter animals. Our system provides a seamless platform for shelter administrators to manage animals, update their adoption statuses, and maintain records efficiently.
- Nexus Pet Portal πΎ
- Features π
- Installation π
- Setting Up MongoDB π
- First-Time Login βοΈ
- System Requirements π»
- Future Plans π
- Contributing π
- License π
- Secure Login:
- Animal Management: Add new animals to the shelter, update their information, and change adoption statuses with ease.
- Adoption Records: Keep track of animals' adoption statuses and manage adoption processes seamlessly.
- Administrative Dashboard: Access additional features for managing users, animals, and shelter operations effectively.
-
Clone the Repository:
git clone https://github.com/tylerlight071/Nexus-Pet-Portal.git
-
Navigate to the Repository:
cd Nexus_Pet_Portal
-
Install the required dependencies
pip install -r requirements.txt
-
Run the Application:
python N_P_P.py
or download the latest release
- Go to releases
- Click on the latest version
- Download the exe file or the entire zip folder
- Extract the zip file if downloaded
- Run the exe file
This is the Python version, once in a v1.0 release, I will be working on a GUI version using React and Electron.
To use Nexus Pet Portal, you need to have a MongoDB database. Here's how you can set it up:
-
Create a MongoDB Account:
- Visit the MongoDB website and create an account.
-
Create a New Project:
- After logging in, create a new project.
- Give your project a name and create it.
-
Create a New Cluster:
- In your project, create a deployment by clicking the '+ Create' button.
- Choose a provider and a region.
- Choose a cluster tier. The free tier, M0 Sandbox, is sufficient for this project but if you need/want to use another then you are free to.
- Give your cluster a name (should you wish to) and create it.
-
Create a Database User:
- In the Security Quickstart, you are prompted to authenticate your connection.
- Click on 'Username and Password' and enter your username and click 'Autogenerate Secure Password'.
- (They may be prefilled by MongoDB using your Cloud Registration Info in which use that)
- Make sure you make a note of your password as you will need this in just a moment.
- Click 'Create User' and scroll down to the 'IP Access List' and click, 'Add My Current IP Address'.
- (Again, if this is prefilled, you can leave it.)
- Then click 'Finish and Close'
-
Get Your MongoDB URI:
- In your cluster, click on the CONNECT button.
- Choose 'Drivers' and under 'Driver' choose Python, and use the latest version.
- Ignore the 'Install your driver' and simply copy the provided connection string (MongoDB URI).
Remember to replace <password>
in the MongoDB URI with the password of the database user you created.
You can now use this MongoDB URI to connect to your MongoDB database from Nexus Pet Portal! Everything else is automatically set up so you don't need to do anything past that point.
- To access the system for the first time, use the following default credentials:
- Username:
ADMIN
- Password:
ADMIN
- Username:
(You will set the password to your own on first login)
- To create a new user, go to User Management in the ADMIN Dashboard
- Go to Register New User
- Enter the desired username, password and user level. You can now log into the new user account.
(For resetting forgotten passwords, from User Management, enter Update user information, log in via Sudo ADMIN and simply reset the password to 'password')
Nexus Pet Portal is developed using Python. To run this application from the source code, you need:
- Python 3.12 or higher
- pip (Python Package Installer)
We're constantly working to improve Nexus Pet Portal and add new features. Here are some of the updates we're planning:
- User Schedules / Calendar to list upcoming events like appointments
- GUI instead of terminal-based
- Integrated Local Host Website
Stay tuned for these exciting updates and more!
We welcome contributions from compassionate individuals who share our mission! If you'd like to contribute to Nexus Pet Portal, follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-name
). - Create a new Pull Request filled with love and dedication!
Please submit any issues via the issues portal in this repo or email me at: tylerlightwood071@gmail.com
This project is licensed under the MIT License - see the LICENSE file for details.