A robust web-based task management application that helps users organize and track their daily tasks with real-time notifications and deadline reminders.
- Located ad
@/docs/
@
in a file path is referring to the root of the project<Your-Bucket-Name-Here>
when seeing this replace everything including the<
and>
.
- Make sure AWS ClI is installed and configured
- Steps:
- Click create new app
- Click deploy without git
- type in
s3://<Your-Bucket-Name-Here>/
- User authentication and authorization
- Real-time task tracking and management
- Deadline notifications using Unix timestamps
- Responsive web interface
- Secure data storage and retrieval
TaskNest is built using a modern cloud-native architecture:
- Frontend: React.js application hosted on AWS S3
- Backend: Flask REST API running on AWS EC2 (Will be changed to API Gateway Soon)
- Database: AWS DynamoDB for scalable data storage
- Authentication: AWS Cognito for secure user management
- Storage: AWS S3 for static file hosting
- Notifications: Real-time alerts based on Unix timestamps
- Node.js (v14 or higher)
- npm (v6 or higher)
- Python 3.8+
- AWS CLI configured with appropriate credentials
- Git
- Clone the repository:
git clone https://github.com/cs399f24/TaskNest.git
cd TaskNest
- Install frontend dependencies:
npm install
- Install backend dependencies:
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
npm start
- Runs the app in development mode at http://localhost:3000npm test
- Launches the test runner in interactive watch modenpm run build
- Builds the app for production in thebuild
folder
flask run
orpython app.py
- Starts the Flask development server
TaskNest uses DynamoDB with the following schema:
{
"user-id": {
"S": "DEV_USER"
},
"tasks": {
"L": [
{
"M": {
"description": {
"S": "test-description"
},
"time": {
"S": "test-time"
}
}
}
]
}
}
Detailed documentation is available for all AWS services used in the project:
The application can be deployed using the provided AWS launch script. Refer to the AWS Launch Script Guide for detailed deployment instructions.
TaskNest implements several security measures:
- AWS Cognito for secure user authentication
- HTTPS encryption for all API communications
- Secure storage of sensitive data in DynamoDB
- React.js community
- AWS Documentation
- Flask Documentation