FitTrainer - Fitness Trainer Web Application
A comprehensive web application for fitness trainers to showcase their portfolio, sell courses, and build a community. Built with SvelteKit, Svelte Flow, and shadcn/svelte.
Features
- Portfolio: Showcase trainer achievements, testimonials, and services
- Course Platform: Sell and deliver fitness courses with progress tracking
- Community: Chat functionality and discussion forums
- User Profiles: Personalized dashboards with progress tracking
- Admin Interface: Content and user management tools
Developing
Technology Stack
- SvelteKit: Full-stack framework for building the application
- Svelte Flow: For interactive diagrams and workout flows
- shadcn/svelte: For consistent, accessible UI components
- Tailwind CSS: For utility-first styling
- Prisma: For database ORM
- Lucia Auth: Authentication library for Svelte
- Socket.io: For real-time chat functionality
Project Structure
/src/lib/components
: Reusable UI components
/src/lib/server
: Server-only code
/src/lib/utils
: Utility functions
/src/routes
: SvelteKit routes
/docs
: Comprehensive project documentation
/prisma
: Database schema and migrations
Getting Started
- Install dependencies:
pnpm install
- Set up environment variables:
cp .env.example .env
- Set up the database:
pnpm prisma db push
- Start the development server:
pnpm run dev
Development
- Check the detailed documentation in the
/docs
folder
- Follow the implementation roadmap in
/docs/planning/implementation-roadmap.md
- Use the component architecture guide in
/docs/architecture/component-architecture.md
Building for Production
pnpm run build
You can preview the production build with:
pnpm run preview
Deployment
This application can be deployed to various platforms:
- Vercel: Optimized for SvelteKit applications
- Netlify: Easy deployment with continuous integration
- Digital Ocean App Platform: Scalable hosting solution
Contributing
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add some amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.