Skip to main content

A collection of utility functions for AWS services

Project description

============================================== x24142816 Remote worktime tracker Guide

This document provides an overview of the dependencies, setup, and deployment steps. And thiw project interacts with AWS services such as S3, DynamoDB, SQS, SNS, and CloudWatch.


1. Required Dependencies

Ensure you have Python 3.6+ installed.

To install the required dependencies, run:

pip install -r requirements.txt

List of dependencies:

boto3==1.37.8
botocore==1.37.8
Django==4.2.19
setuptools==59.6.0
gunicorn==23.0.0
Pillow==11.1.0

(Note: The requirements.txt file is located in the project's root directory.)


2. utils > library 

utils - AWS Utilities Library.

utils is a Python library that provides various utility functions to interact with AWS services such as S3, DynamoDB, SQS, and CloudWatch.

Features

  • CloudWatch: Create log groups and streams, and write logs to CloudWatch.
  • DynamoDB: Save and update user data and worktime in DynamoDB.
  • S3: Manage files in S3 storage.
  • SQS: Send and receive messages from SQS.
  • SNS: Send notifications using SNS.

Installation

You can install this library using pip:

pip install utils

3. Application Setup & Execution

Clone the Repository

git clone https://github.com/Jiyoung0716/Final_CPP_Project.git
cd Final_CPP_Project

For macOS/Linux:

python -m venv env
source env/bin/activate

For Windows:

python -m venv env
env\Scripts\activate

Install Dependencies

pip install -r requirements.txt

env file** (store sensitive credentials):

AWS_REGION=us-east-1
S3_BUCKET_NAME=x24142816-s3bucket
DYNAMODB_TABLE_USERS=Users
DYNAMODB_TABLE_WORKTIME=Worktime
DYNAMODB_TABLE_PROJECTS=Projects
SNS_TOPIC_ARN=arn:aws:sns:us-east-1:278101256714:x24142816-notification
SQS_QUEUE_URL=https://sqs.us-east-1.amazonaws.com/278101256714/x24142816_JiyoungKim_Queues

Run the Application

python manage.py runserver 8080
python3 manage.py runserver 8080

4. Deployment Steps (Elastic Beanstalk)

Initialize Elastic Beanstalk

eb init -p python-3.9 Remoteworktimetracker

Create an Environment

No need since the environment already exists (my-env)

Deploy the Application

eb deploy

Check Logs

eb logs

Open Application

eb open

5. Configuration Files

** django.config (Elastic Beanstalk Configuration)**

Located in `.ebextensions/`, this file contains environment settings for Django.

option_settings:
    aws:elasticbeanstalk:container:python:
        WSGIPath: tracker.wsgi:application

** python-publish.yml (GitActions)**

This GitHub Actions workflow automates the CI/CD process 
for publishing a Python package to PyPI.
(content: pylint-static analysis, library)

** Procile (Role to run Django with Gunicorn)**

web: gunicorn --bind 0.0.0.0:8080 tracker.wsgi:application

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

library_utils-0.1.8.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

library_utils-0.1.8-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file library_utils-0.1.8.tar.gz.

File metadata

  • Download URL: library_utils-0.1.8.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for library_utils-0.1.8.tar.gz
Algorithm Hash digest
SHA256 cb6d668deecc887969eeac0d6d8bdcc857dfa0d320fd0fe78bb8a45a173742a4
MD5 22470ec8df0b864e9f960ffebf2451a7
BLAKE2b-256 00d9273151dbc29d4b0ed231c78fedef131b7ad9a3dd79b931ee3302b86895a4

See more details on using hashes here.

File details

Details for the file library_utils-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: library_utils-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for library_utils-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 02989c0425176024c1e828eb8ecea6a3ce78f2b62b7c5cdea683d7ed9a7090dc
MD5 bf20399b0e484ca59ff262d3ea797874
BLAKE2b-256 fedca51973d23388ab4e98052f4d82c04cda4f2d85c33cc718cf203a163ff6b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page