Skip to content

A simple web application designed to help users set, track, and manage their personal or professional goals. The application provides the functionality to create new goals, view existing goals, update their status, and delete them if necessary.

Notifications You must be signed in to change notification settings

taylormusolf/GoalCrusher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goalcrusher

Overview

Goal Crusher is a simple web application designed to help users set, track, and manage their personal or professional goals. The application provides the functionality to create new goals, view existing goals, update their status, and delete them if necessary. It is built with a Python backend and a JavaScript frontend to deliver a smooth user experience.

Features

  1. Add New Goals Users can create new goals by providing a title and description.

  2. View Goals A list of all created goals can be viewed on the main page.

  3. Update Goal Status Users can update the status of each goal to:

  • Not Started
  • In Progress
  • Completed
  1. Delete Goals Users can delete goals to keep their list organized.

Bonus Features

  • Deployment: The app is deployed on Heroku.
  • OpenAI API Integration: OpenAI’s API used for motivational quotes and goal suggestions.
  • Notifications: Toastify used for user friendly notications of goal saving and deleting.

Tech Stack

Backend

  • Language: Python
  • Framework: FastAPI
  • Database: PostgreSQL

Frontend

Language: JavaScript Framework: React Styling: CSS/SCSS.

Setup Instructions

  1. Clone the Repository
git clone https://github.com/taylormusolf/goal-crusher.git
cd goal-crusher
  1. Backend Setup
  • Ensure you have Python installed.
  • Install the required dependencies:
pip install -r requirements.txt
  • Start the FastAPI server
uvicorn backend.src.app:app --reload
  1. Frontend Setup
  • Navigate to the frontend directory and install the necessary dependencies:
cd frontend
npm install
npm run dev
  1. Database Setup
  • Ensure your local PostgreSQL database is up and running.
  • Create a .env file in the backend folder
  • Set the DATABASE_URL in the env file to point to your PostgreSQL instance.
  • Run migrations:
alembic upgrade head
  1. OpenAI API Setup To use the OpenAI API, you need to set your API key in the .env file:
OPENAI_API_KEY=your_api_key_here
  1. Deployment Instructions The application is deployed on Heroku.
  • For Heroku deployment:
  1. Set up the required environment variables such as DATABASE_URL, OPENAI_API_KEY, and ENVIRONMENT.
  2. Add build and release commands to your Procfile for running migrations and seeding the database.

Usage

After starting the backend and frontend, open your browser and visit http://localhost:3000 (or your deployment URL). You can add, edit, delete, and track goals easily from the UI.

Future Enhancements

Reminder Notifications for upcoming or due goals. Social Sharing to share progress on social media. User Authentication to allow multiple users to track their goals independently.

Screenshots

goals suggestions notificationsPNG

License

This project is licensed under the MIT License.

About

A simple web application designed to help users set, track, and manage their personal or professional goals. The application provides the functionality to create new goals, view existing goals, update their status, and delete them if necessary.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published