Giter VIP home page Giter VIP logo

anxietygo's Introduction

AnxietyGo

Table of Contents

Project Description

AnxietyGo is a social anxiety app designed to help individuals who struggle with social anxiety or related disorders. The app provides a supportive and safe environment for users to connect with others who share similar experiences, and to access a range of resources and tools to manage their anxiety and improve their mental health.

The app features a clean and intuitive user interface, with a range of features designed to help users manage their anxiety and improve their social skills. These features include a social networking platform, guided meditations, cognitive-behavioral therapy exercises, and more.

The project has a strong focus on open-source development and community collaboration. We welcome flutter developers, designers, and marketers who are passionate about mental health and social impact to join our team and help us make a positive difference in the lives of individuals struggling with social anxiety.

Technologies being used

  • Material UI
  • Flutter
  • Firebase

Getting Started

Prerequisites

  • Download and install any IDE that supports Flutter or the Dart Language
  • Download and install the latest version of the Flutter Framework. See https://docs.flutter.dev/get-started/install
  • Download and install the latest version of Git on your system. See https://git-scm.com/downloads.
    • To make sure if your Git is on the latest version, run this command on the command line: git -v.
  • Download and install the latest version of NodeJS and npm on your system. See https://nodejs.org/en/.
    • npm is included with the NodeJS installation. This means that you only have to download and run the NodeJS installer.
    • To make sure if your NodeJS is on the latest version, run this command on the command line: node -v.
    • To make sure if your npm is on the latest version, run this command on the command line: npm -v.

If you prefer the command line way of downloading and installing things, then feel free to do so. Otherwise, the instructions above should get you up and running.

How to run

flutter pub get
  • It gets all the dependencies listed in the pubspec.yaml file in the current working directory, as well as their transitive dependencies.

Optional

flutter pub upgrade
  • It gets the latest versions of all dependencies used by the app.

Contribute

  • AnxietyGo appreciates your contribution in any aspects of project development like documenting, UI/UX design, Frontend/Backend development etc.
  • Please try and follow below guidelines while creating a new PR:
    • Keep the PR size smaller(max 8 files).
    • Each PR should be atomic in nature and should be focused on single issue only.
    • Respective Issue shall be linked with the PR.
    • If there's no existing Issue for which PR needs to be raised, first create an Issue in the project and then wait for it to get assigned.
    • Before starting work on a new pull request, make sure you have been assigned to the related issue. To get assigned, please comment on the issue.
    • Naming conventions and folder structure shall remain consistent.
  • If you have some GIT experience but do not know how to contribute on a team project, we have a beginner friendly guide

A few resources to get you started if this is your first Flutter project:

Discuss

We are always looking for new members to join our community. One way to get involved is by joining our Discord server. On Discord, you can discuss the project, ask questions, and receive support from other members of the community.

Discord Shield

anxietygo's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

anxietygo's Issues

Update the Login Page

Welcome

This is the design for the login page. Update the login page, which was built before, to be identical to the above picture. No functionality is needed.

For the email and password input fields, use the CustomTextField component (you can find it inside the lib/components folder).

Don't add the "Continue with Apple" button.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Build a Popup Window to show the user affirmations

The popup window should include the following:

  • Text showing the affirmation
  • Close button

Notes:

  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.
  • Place the popup window in the 'components' folder

Create a simple guide for "Aureus" library

Make a simple guide on Google Docs on how to use the "Aureus" library.

This is the library:
https://pub.dev/packages/aureus

This is their documentation:
https://github.com/Astra-Labs/Aureus/tree/main/Documentation

Our guide:
https://docs.google.com/document/d/1lBSYkKQN8jBO6IS7wtSnUo-cKhvCCw8rfB4bHpIa_qw/edit?usp=sharing

Prerequisites:

  • Google Account
  • "Code Blocks" add-on installed in Google Docs (It might be already installed. You can check by clicking on "Extensions". If it is installed, you can see "Code Block" at the end of the menu dropdown. To use it, click on "Code Blocks" then click "Start".)

The format of the guide should be like this:
Header [name of the component or view] (Bold and underlined)

  • Small image of it
  • Short example showing the line of code to initialize the component (use the add-on "Code Block" to format the code)
  • Subheader [for each property of the component such as Colors...] (Underlined)
    • Short example showing the line of code how to customize the component [for each subheader] (formatted).

Note:

  • It is required to test every component and page.
  • Don't copy-paste their code. The examples used in the guide should be real.
  • This issue requires more than one assignee. So feel free to comment if you want to work on it.
  • Document only the "Widgets" and "Objects" folders

Add a Carousel Slider in the Home Page

After issue #6 is closed.

Use the following package to add a Carousel Slider in the home page:
https://pub.dev/packages/carousel_slider

The carousel slider needs to be horizontal and it consists of cards. Each card will show the thumbnail and the name of the challenge.

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.

Create Page 4 of the Signup process

Anxiety questions 3

This is the design for the fourth page of the signup process. Create a new page identical to the above picture. No functionality is needed.

Use the chips_choice_null_safety library to build the chips.

The progress bar, which is located at the top, is excluded from the page.
The Next button, which is located at the bottom, is excluded from the page.

Use SingleChildScrollView as a parent widget to avoid overflow.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Create a Challenge Model

Inside the 'lib\models' folder, create a new file called 'Challenge.dart'.

The path of the file should be: lib\models\Challenge.dart

It should include the following variables:

  • Name
  • Description
  • Difficulty
  • Category
  • Thumbnail

Note: All of the variables are strings except for the difficulty. The thumbnail will store a reference to a picture that is uploaded to firebase.

Create a Customized Button

Create a base Button that can be customized upon initialization.

For example, we have a base TextField with a color attribute that is red.
We should be able to change its color and any other attribute, especially its text.

This issue is similar to #25

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Create Page 2 of the Signup process

Anxiety questions 1

This is the design for the second page of the signup process. Create a new page identical to the above picture. No functionality is needed.

Use the chips_choice_null_safety library to build the chips.

Don't build/add the progress bar and the Next button.

Use SingleChildScrollView as a parent widget to avoid overflow.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Add a Side Menu

After issue #5 is closed.

Add a hamburger icon to the topbar to the left which toggles a side menu.

The side menu should contain the following items:

  • Home Page with a home icon
  • Leaderboards with a random icon (for now)

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.

Create a User Model

Inside the 'lib\models' folder, create a new file called 'User.dart'.

The path of the file should be: lib\models\User.dart

The user model should include the following variables:

  1. First Name
  2. Last Name
  3. Email
  4. Password
  5. Difficulty Level

Fixing file names

Only some files in the lib folder are following similar order, some files are named in camelCase, some are in Uppercase, some are in snake_case, it should all named in a similar naming convention.

Add a Rounded Profile Picture widget to the Top Bar

After issue #5 is closed.

Add a rounded profile picture widget in the top bar to the right.

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.

Create Page 3 of the Signup process

Anxiety questions 2

This is the design for the third page of the signup process. Create a new page identical to the above picture. No functionality is needed.

Use the chips_choice_null_safety library to build the chips.

The progress bar, which is located at the top, is excluded from the page.
The Next button, which is located at the bottom, is excluded from the page.

Use SingleChildScrollView as a parent widget to avoid overflow.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Create a Customized TextField

Create a base TextField that can be customized upon initialization.

For example, we have a base TextField with a color attribute that is red.
Usage 1: We should be able to change its color
Usage 2: We should be able to change the value of its 'keyboardType' attribute and such.

Build the Login Page

The login page should include the following:

  • Email input bar
  • Password input bar
  • Reset password button
  • Login button

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.
  • Place the login page in the 'pages' folder.

Build a Popup Window to ask the user about their mood

The popup window should include the following:

  • The following text: "How are you feeling right now?"
  • A slider with 5 values: Awful (1), Not Good (2), Fine (3), Very Good (4), Great (5)
  • A button to close the popup window (the functionality of the button should be in a separate function since background work will be added later)

Nice to have:

  • The slider would change color depending on the value selected
  • Represent the values with emojis instead of text
  • The emojis animate a little once the selected value changes.

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.
  • Place the popup window in the 'components' folder.
  • The code should include comments where necessary
  • Set the maximum value of the slider to 5 and the step to 1

Build a Sign Up Page

The sign-up should include the following:

  • First Name Input Bar
  • Last Name Input Bar
  • Email Input Bar
  • Password Input Bar
  • Confirmation Password Input Bar
  • Sign up button

Leave some space after each input bar to show errors.

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.
  • Place the sign up page in the 'pages' folder.

Create Page 1 of the Signup process

More info

This is the design for the first page of the signup process. Create a new page identical to the above picture. No functionality is needed.

For the Occupation and Location sections, use the component being developed in issue #33
For the other sections, use the chips_choice_null_safety library to build the chips.

Don't build/add the Next button.

Use SingleChildScrollView as a parent widget to avoid overflow.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Build the Home Page

The home page should have the following:

  • A red Topbar
  • The name of the app "AnxietyGo" in the middle

Notes:

  • Don't add any functionality.
  • Each component should be in a separate file located in the 'components' folder in the 'lib' folder.
  • Place the home page in the 'pages' folder.

Create a Search Field Component with Suggestions

Use the searchfield library to build this component.

We need this component to change the styling of the original widget only. The way we initialize the widget should stay the same.

Notes:

  • Update your local project before working on the issue
  • File names should use the CamelCase convention
  • Variable names should use the lowerCamelCase convention
  • Frequently used components should be placed inside the lib/components folder
  • Pages should be placed inside the lib/pages folder
  • Format your code before creating a PR
  • Remove any unused imports

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.