Sun360 is a user-friendly application designed to protect individuals in Victoria, Australia, from harmful UV rays. It provides essential UV-related information and recommendations tailored to different age groups and genders, ensuring a safe and informed experience under the sun.
-
π UV Impact Visualization:
- Graphical representation of UV impacts across various age groups and genders.
-
π Location-based UV Index and Temperature:
- Check UV Index and temperature for any location in Victoria using its postcode.
-
π Clothing Recommendations:
- Provides clothing suggestions based on the current UV Index.
-
β° Sunscreen Reminders:
- Personalized reminders for sunscreen application for users and their family members.
-
π¨βπ©βπ§ Family Management:
- Register and manage family members for customized settings and reminders.
-
βοΈ Settings Customization:
- Tailor the application to suit personal preferences.
- Python 3.8 or higher
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/your-repo/sun360.git
-
Navigate to the project directory:
cd sun360 -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.envfile in the root directory. - Add the following variables:
FLASK_APP=app.py FLASK_ENV=dev or production DATABASE_URL=your_database_url OPEN_WEATHER_API_KEY=your_openweather_api_key
- Create a
-
Start the application:
python app.py
-
app.py:- Main application file containing routes, middleware, and API logic.
-
models.py:- Defines database models such as
Users,FamilyMember,Suburb, and more.
- Defines database models such as
-
database.py:- Contains SQLAlchemy database initialization.
-
api_requests.csv:- Tracks the number of API requests to external services.
-
.env:- Environment variables for secure configurations.
-
Frameworks and Libraries:
- Flask
- Flask-CORS
- SQLAlchemy
- dotenv
-
Database:
- PostgreSQL
-
API Services:
- π€οΈ OpenWeather API
-
Other Utilities:
- π Werkzeug
- π CSV
-
π Login and Registration:
- Users can register with their details, including family members.
- Login using the registered email and password.
-
βοΈ Check UV and Temperature:
- Enter a postcode to view the UV Index and temperature for the area.
-
π Get Clothing Recommendations:
- Receive clothing suggestions based on UV levels.
-
β° Set Sunscreen Reminders:
- Create personalized reminders for sunscreen application.
-
π¨βπ©βπ§ Manage Family Members:
- Add or modify family membersβ details for tailored notifications.
-
π User Authentication:
/login: POST - Login user./logout: GET - Logout user.
-
π€ User Management:
/users: POST - Register a new user./users/<id>: GET/PUT/DELETE - Manage user details.
-
βοΈ UV and Temperature:
/suburbs/<postcode>: GET - Fetch suburb information./suburbs/<postcode>/record: GET - Get UV Index and temperature.
-
β° Sunscreen Reminders:
/users/<id>/sunscreen-reminders: GET/POST - Manage reminders.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes with descriptive messages.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
-
Favicon Generator - favicon.io
- The favicon was generated using the following graphics from Twitter Twemoji:
- Graphics Title: 2600.svg
- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (Twemoji Repository)
- Graphics Source: 2600.svg
- Graphics License: CC-BY 4.0
- The favicon was generated using the following graphics from Twitter Twemoji:
For any inquiries or support, please contact lkaggarwal1997@gmail.com.