Jarvis is a versatile personal assistant application designed to help users manage their tasks, contacts, notes, and news efficiently. It also includes features for AI-powered assistance, weather updates, and currency exchange rates.
-
Clone the repository:
git clone https://github.com/Lifasirko/jarvis.git
-
Run the setup script:
./setup.sh
or
./setup.ps1
- The list of required fields can be found in
.env.dist
-
Activate the virtual environment:
-
For Windows:
venv\Scripts\activate
-
For Linux/macOS:
source venv/bin/activate
-
-
Navigate to the project directory:
cd jarvis -
Create a superuser:
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
-
Open your web browser and go to
http://127.0.0.1:8000/.
The project is divided into several main parts:
Contains core functionalities and common utilities for the project.
- Admin: Administrative site configuration.
- Apps: Configuration for the core application.
- ChatGPT Service: Integration with ChatGPT for AI capabilities.
- Forms: Forms used across the application.
- Models: Database models for the core functionalities.
- RSS Feed: RSS feed parsing and handling.
- Templates: Common HTML templates for core pages (404, 500, base, etc.).
- Views: Core views for handling requests and responses.
Manages notes and related functionalities.
- Admin: Administrative site configuration for notes.
- Apps: Configuration for the notes application.
- Forms: Forms related to notes.
- Models: Database models for notes.
- Templates: HTML templates specific to notes (note list, note detail, etc.).
- Views: Views for handling notes-related requests and responses.
Manages contacts and related functionalities.
- Admin: Administrative site configuration for contacts.
- Apps: Configuration for the contacts application.
- Forms: Forms related to contacts.
- Models: Database models for contacts.
- Templates: HTML templates specific to contacts (contact list, add contact, etc.).
- Views: Views for handling contacts-related requests and responses.
Handles news and related functionalities.
- Admin: Administrative site configuration for news.
- Apps: Configuration for the news application.
- Management Commands: Custom management commands for news (e.g., updating news).
- Models: Database models for news.
- Templates: HTML templates specific to news (news list, news detail, etc.).
- Views: Views for handling news-related requests and responses.
Manages tasks and related functionalities.
- Admin: Administrative site configuration for tasks.
- Apps: Configuration for the task manager application.
- Forms: Forms related to tasks.
- Models: Database models for tasks.
- Templates: HTML templates specific to tasks (task list, task detail, etc.).
- Views: Views for handling tasks-related requests and responses.
- AI Integration: Uses ChatGPT for AI capabilities.
- Weather Information: Provides weather updates.
- Currency Exchange Rates: Fetches and displays current exchange rates.
This project is licensed under the MIT License - see the LICENSE file for details.