Skip to content

Latest commit

Β 

History

History
120 lines (93 loc) Β· 4.09 KB

File metadata and controls

120 lines (93 loc) Β· 4.09 KB

πŸš€ Learnly - AI-Powered Goal Tracking App

Learnly is a smart goal-tracking application designed to help you achieve your dreams by breaking them down into manageable steps. Powered by Google's Gemini 2.0 Flash AI, Learnly automatically generates actionable micro-goals from your main objectives and provides intelligent categorization to keep you organized.

✨ Key Features

  • πŸ€– AI-Powered Goal Breakdown: Simply enter your main goal, and our AI (Gemini 2.0) will generate a structured list of micro-goals (subtasks) to guide you step-by-step.
  • πŸ“‚ Smart Categorization: Goals are automatically classified into categories like Learning, Career, Health, Personal, and Other for better organization.
  • πŸ“Š Visual Analytics: Track your progress with interactive charts and insights powered by Recharts.
  • πŸ” Secure Authentication: Robust user management with JWT-based authentication (Login, Register, Password Management).
  • 🎨 Modern UI/UX: A sleek, responsive interface built with React, TailwindCSS, and Radix UI, featuring smooth animations with Framer Motion.
  • βœ… Task Management: Create, update, and delete goals and subtasks with ease.

πŸ› οΈ Tech Stack

Frontend

Backend


πŸš€ Getting Started

Follow these instructions to set up the project locally.

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (Local or Atlas connection string)
  • Google Gemini API Key (Get one here)

1. Clone the Repository

git clone https://github.com/yourusername/learnly.git
cd learnly

2. Backend Setup

Navigate to the backend directory and install dependencies:

cd backend
npm install

Create a .env file in the backend directory with the following variables:

PORT=3000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET_KEY=your_jwt_secret_key
GEMINI_API_KEY=your_google_gemini_api_key

Start the backend server:

npm start
# or for development
npm run dev

The server should be running on http://localhost:3000

3. Frontend Setup

Open a new terminal, navigate to the frontend directory, and install dependencies:

cd frontend
npm install

Create a .env file in the frontend directory:

VITE_API_URL=http://localhost:3000

Start the frontend development server:

npm run dev

The application should now be accessible at http://localhost:5173 (or the port shown in your terminal).


πŸ“‚ Project Structure

Learnly/
β”œβ”€β”€ backend/                # Node.js/Express Backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/    # Request handlers
β”‚   β”‚   β”œβ”€β”€ models/         # Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ routes/         # API routes
β”‚   β”‚   β”œβ”€β”€ services/       # AI service logic
β”‚   β”‚   └── db/             # Database connection
β”‚   └── server.js           # Entry point
β”‚
β”œβ”€β”€ frontend/               # React Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/            # Axios setup & endpoints
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/          # Main application pages (Dashboard, Goals, etc.)
β”‚   β”‚   └── context/        # React Context (Auth, etc.)
β”‚   └── index.css           # Tailwind imports
β”‚
└── README.md               # Project Documentation