Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/coslynx/fitness-goals-social-tracker

Project: Track fitness goals, set reminders, and monitor progress with a simple online tool. Created at https://coslynx.com
https://github.com/coslynx/fitness-goals-social-tracker

code-generation developer-tools devops fitness-community fitness-tracker goal-setting machine-learning mvp nextjs nutrition-tracking postgresql prisma progress-tracking react social-fitness software-development tailwindcss typescript workout-log zustand

Last synced: 10 days ago
JSON representation

Project: Track fitness goals, set reminders, and monitor progress with a simple online tool. Created at https://coslynx.com

Awesome Lists containing this project

README

        




fitness-goals-social-tracker


A web application to help users track their fitness goals and connect with others.


Developed with the software and tools below.



Framework used
Frontend technologies
Backend technologies
Database used


git-last-commit
GitHub commit activity
GitHub top language

## ๐Ÿ“‘ Table of Contents
- ๐Ÿ“ Overview
- ๐Ÿ“ฆ Features
- ๐Ÿ“‚ Structure
- ๐Ÿ’ป Installation
- ๐Ÿ—๏ธ Usage
- ๐ŸŒ Hosting
- ๐Ÿ“„ License
- ๐Ÿ‘ Authors

## ๐Ÿ“ Overview
The repository contains a Minimum Viable Product (MVP) called "fitness-goals-social-tracker" that provides a comprehensive solution for fitness enthusiasts to track their progress, set goals, and connect with others. It leverages the power of React, Node.js, PostgreSQL, and other technologies to offer a user-friendly and engaging experience.

## ๐Ÿ“ฆ Features
| | Feature | Description |
|----|--------------------|--------------------------------------------------------------------------------------------------------------------|
| โš™๏ธ | **Architecture** | The codebase follows a modular architectural pattern with separate directories for different functionalities, ensuring easier maintenance and scalability. |
| ๐Ÿ“„ | **Documentation** | The repository includes a README file that provides a detailed overview of the MVP, its dependencies, and usage instructions.|
| ๐Ÿ”— | **Dependencies** | The codebase relies on various external libraries and packages such as React, Next.js, Tailwind CSS, Prisma, and Zustand, which are essential for building and styling the UI components, managing state, and interacting with the database. |
| ๐Ÿงฉ | **Modularity** | The modular structure allows for easier maintenance and reusability of the code, with separate directories and files for different functionalities such as components, pages, and utilities. |
| ๐Ÿงช | **Testing** | Implement unit tests using frameworks like Jest or React Testing Library to ensure the reliability and robustness of the codebase. |
| โšก๏ธ | **Performance** | The performance of the system can be optimized based on factors such as the browser and hardware being used. Consider implementing performance optimizations such as code splitting, caching, and image optimization for better efficiency.|
| ๐Ÿ” | **Security** | Enhance security by implementing measures such as input validation, data encryption, and secure communication protocols.|
| ๐Ÿ”€ | **Version Control**| Utilizes Git for version control with GitHub Actions workflow files for automated build and release processes.|
| ๐Ÿ”Œ | **Integrations** | Interacts with browser APIs, external services through HTTP requests, and includes integrations with social login APIs like Google and Facebook. |
| ๐Ÿ“ถ | **Scalability** | Design the system to handle increased user load and data volume, utilizing caching strategies and cloud-based solutions for better scalability. |

## ๐Ÿ“‚ Structure
```text
fitness-goals-social-tracker
โ”œโ”€โ”€ components
โ”‚ โ”œโ”€โ”€ Button.tsx
โ”‚ โ”œโ”€โ”€ Header.tsx
โ”‚ โ”œโ”€โ”€ Layout.tsx
โ”‚ โ”œโ”€โ”€ GoalInput.tsx
โ”‚ โ”œโ”€โ”€ ProgressChart.tsx
โ”‚ โ””โ”€โ”€ SocialShareButton.tsx
โ”œโ”€โ”€ pages
โ”‚ โ”œโ”€โ”€ api
โ”‚ โ”‚ โ”œโ”€โ”€ auth.ts
โ”‚ โ”‚ โ”œโ”€โ”€ goals.ts
โ”‚ โ”‚ โ””โ”€โ”€ progress.ts
โ”‚ โ”œโ”€โ”€ _app.tsx
โ”‚ โ”œโ”€โ”€ index.tsx
โ”‚ โ”œโ”€โ”€ dashboard.tsx
โ”‚ โ””โ”€โ”€ login.tsx
โ”œโ”€โ”€ styles
โ”‚ โ””โ”€โ”€ global.css
โ”œโ”€โ”€ utils
โ”‚ โ”œโ”€โ”€ helpers.ts
โ”‚ โ”œโ”€โ”€ api.ts
โ”‚ โ”œโ”€โ”€ auth.ts
โ”‚ โ””โ”€โ”€ validation.ts
โ”œโ”€โ”€ config
โ”‚ โ””โ”€โ”€ next-auth.config.ts
โ”œโ”€โ”€ middleware
โ”‚ โ””โ”€โ”€ authentication.ts
โ”œโ”€โ”€ .env
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ tailwind.config.ts
โ””โ”€โ”€ tsconfig.json

```

## ๐Ÿ’ป Installation
### ๐Ÿ”ง Prerequisites
- Node.js
- npm
- Docker (Optional for deployment)

### ๐Ÿš€ Setup Instructions
1. Clone the repository:
- `git clone https://github.com/coslynx/fitness-goals-social-tracker.git`
2. Navigate to the project directory:
- `cd fitness-goals-social-tracker`
3. Install dependencies:
- `npm install`

## ๐Ÿ—๏ธ Usage
### ๐Ÿƒโ€โ™‚๏ธ Running the MVP
1. Start the development server:
- `npm run dev`
2. Open your browser and navigate to `http://localhost:3000`.

### โš™๏ธ Configuration
Adjust configuration settings in `next.config.js`, `.env`, or `next-auth.config.ts` as needed.

### ๐Ÿ“š Examples
- ๐Ÿ“ **Example 1**: Create a new goal by filling in the required information in the `GoalInput` form on the dashboard page.
- ๐Ÿ“ **Example 2**: Log workout data, nutrition, or weight information using the dedicated forms provided on the dashboard page.
- ๐Ÿ“ **Example 3**: Share your progress updates on the social feed, connect with other users, and motivate each other.

## ๐ŸŒ Hosting
### ๐Ÿš€ Deployment Instructions
#### Vercel Deployment
1. **Login to Vercel:** Create an account or log in to your existing Vercel account.
2. **Import Project:** Click on "New Project" and select "Import Git Repository" to import the project from GitHub.
3. **Connect Repository:** Provide the GitHub repository URL: `https://github.com/coslynx/fitness-goals-social-tracker.git`
4. **Environment Variables:** Set up any necessary environment variables (e.g., `DATABASE_URL`, `NEXTAUTH_URL`, `NEXTAUTH_SECRET`).
5. **Deploy:** Click on "Deploy" to deploy the application to Vercel.

#### Heroku Deployment
1. **Install Heroku CLI:** `npm install -g heroku`
2. **Login to Heroku:** `heroku login`
3. **Create a New Heroku App:** `heroku create`
4. **Set Up Environment Variables:** Use `heroku config:set` to set up environment variables for database connection and other configurations.
5. **Push to Heroku:** `git push heroku main`

### ๐Ÿ”‘ Environment Variables
- `DATABASE_URL`: The connection string for your PostgreSQL database.
- `NEXTAUTH_URL`: The URL of your NextAuth application (e.g., `https://your-app.vercel.app`).
- `NEXTAUTH_SECRET`: A secret key for NextAuth session management.

## ๐Ÿ“œ API Documentation
### ๐Ÿ” Endpoints
- **GET /api/goals**: Retrieves a list of goals for the authenticated user.
- **POST /api/goals**: Creates a new goal for the authenticated user.
- **PUT /api/goals/:id**: Updates an existing goal for the authenticated user.
- **DELETE /api/goals/:id**: Deletes an existing goal for the authenticated user.
- **GET /api/progress**: Retrieves progress data for a specific goal.
- **POST /api/progress**: Logs progress data for a specific goal.

### ๐Ÿ”’ Authentication
User authentication is handled using JWT tokens via NextAuth.js.

### ๐Ÿ“ Examples
- `curl -X GET http://localhost:3000/api/goals` (Requires authentication)

## ๐Ÿ“œ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ‘ฅ Authors
- **CosLynxAI** - [CosLynx.com](https://coslynx.com) - [GitHub](https://github.com/coslynx)


๐ŸŒ CosLynx.com


Create Your Custom MVP in Minutes With CosLynxAI!