- π Overview
- π¦ Features
- π Structure
- π» Installation
- ποΈ Usage
- π Hosting
- π License
- π Authors
This repository contains the Minimum Viable Product (MVP) for a web application called "Fitness Goal Tracker." The MVP provides a user-friendly platform for setting, tracking, and sharing fitness goals, aiming to enhance user motivation and engagement. It leverages a robust technology stack, including Next.js for the frontend, Node.js for the backend, and PostgreSQL for database storage. The application is built with a focus on modularity, scalability, and user experience.
Feature | Description |
---|---|
User Authentication | Secure user registration and login using NextAuth.js with support for multiple providers (e.g., Google). |
Goal Setting | Create personalized fitness goals with specific details (type, target, start/end dates) and track progress. |
Goal Tracking | Automatically track progress based on user input and data from wearable devices. |
Data Visualization | Visualize progress using interactive charts and graphs. |
Social Feed | Share progress updates with friends and other users in a dedicated social feed. |
Community Features | (Future expansion) Join groups and forums based on fitness interests to connect with like-minded individuals. |
Personalized Insights | (Future expansion) Generate data-driven insights and recommendations based on user activity. |
User-Friendly Interface | Clean, intuitive interface for easy navigation and interaction. |
Robust Error Handling | Implement comprehensive error handling and logging to ensure a stable and reliable experience. |
Scalable Architecture | Design the application to handle increased user load and data volume. |
project-1723923816134-0jx0dz/
βββ pages
β βββ _app.tsx
β βββ index.tsx
β βββ goals
β β βββ create.tsx
β β βββ edit.tsx
β β βββ view.tsx
β β βββ index.tsx
β βββ profile
β β βββ index.tsx
β β βββ settings.tsx
β βββ login
β β βββ index.tsx
β βββ signup
β β βββ index.tsx
β βββ dashboard
β βββ index.tsx
βββ components
β βββ Header.tsx
β βββ Footer.tsx
β βββ GoalCard.tsx
β βββ GoalForm.tsx
β βββ GoalList.tsx
β βββ ProgressChart.tsx
β βββ SocialFeed.tsx
β βββ UserCard.tsx
β βββ Input.tsx
β βββ Button.tsx
β βββ Dropdown.tsx
β βββ Modal.tsx
βββ styles
β βββ globals.css
β βββ tailwind.config.js
βββ utils
β βββ helpers.js
β βββ api.js
βββ prisma
β βββ schema.prisma
β βββ migrations
β βββ 20231027144926_init
β βββ migration.sql
βββ server
β βββ index.js
βββ next.config.js
βββ tsconfig.json
βββ package.json
- Node.js
- npm
- Docker (optional for database setup)
- Clone the repository:
git clone https://github.com/spectra-ai-codegen/project-1723923816134-0jx0dz.git
- Navigate to the project directory:
cd project-1723923816134-0jx0dz
- Install dependencies:
npm install
- (Optional) Set up the database:
- Follow the instructions in the
prisma/
directory to set up PostgreSQL. You can use Docker to simplify the setup process.
- Follow the instructions in the
- Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000.
- Environment Variables: Create a
.env
file in the root directory and set the following environment variables:DATABASE_URL
: The connection URL for your PostgreSQL database.NEXTAUTH_URL
: The URL of your Next.js application (e.g.,http://localhost:3000
).NEXTAUTH_SECRET
: A secret key for NextAuth.js authentication.GOOGLE_CLIENT_ID
: Google Client ID (for Google authentication).GOOGLE_CLIENT_SECRET
: Google Client Secret (for Google authentication).
- Set up a hosting platform: Choose a platform like Vercel, Netlify, or Heroku.
- Configure environment variables: Set the necessary environment variables for your chosen hosting platform.
- Deploy: Follow the deployment instructions specific to your chosen platform.
- Create a Vercel account: If you don't have one already.
- Initialize Vercel:
vercel init
- Deploy:
vercel deploy
This project is licensed under the MIT License - see the LICENSE file for details.
- Spectra.codes - Spectra.codes
- DRIX10 - DRIX10
Why only generate Code? When you can generate the whole Repository!