Coder Social home page Coder Social logo

codebymohsin / muscle-mind Goto Github PK

View Code? Open in Web Editor NEW
26.0 3.0 4.0 80.46 MB

Fitness application built on Phoenix LiveView

Home Page: https://muscle-mind.vercel.app

Elixir 69.69% CSS 8.29% JavaScript 0.85% HTML 21.17%
elixir phoenix phoenix-framework

muscle-mind's Introduction

Muscle Mind Fitness Application

Muscle Mind is a fitness application built on Phoenix LiveView, designed to help you track your workouts, visualize your progress, access an exercise library, and compete on a real-time scoreboard. Additionally, the app provides a workout history page to keep track of your previous sessions.

Demo

Screencast-from-17-05-23-110715.mp4

Lessons Learned

Throughout the development of Muscle Mind, several valuable lessons were learned. Here are some key takeaways from the project:

  • Don't shy away from seeking help : It's important to recognize that asking for help and collaborating with others can greatly enhance the development process. Don't hesitate to reach out to the community or individuals with expertise in specific areas when facing challenges or seeking guidance.

  • Exploring Phoenix LiveView and Live Components : Muscle Mind provided an opportunity to dive deep into Phoenix LiveView and Live Components. The project helped in gaining a better understanding of the real-time interactivity and powerful features offered by LiveView, enabling a more responsive and dynamic user experience.

  • Working with Ecto and the database : Muscle Mind's integration with Ecto, the database wrapper for Elixir, allowed for seamless communication with the database. This experience provided insights into how to design and maintain a well-structured database schema, handle migrations, and efficiently query data for different application features.

  • Utilizing nested forms : Implementing nested forms in Muscle Mind was a valuable learning experience. I discovered how to handle complex data structures and relationships, allowing users to log multiple exercises, sets, and reps within a single workout session. Nested forms provided a clean and intuitive user interface for data entry.

  • Leveraging code generation in Phoenix : The Phoenix framework's code generation capabilities proved to be a valuable asset. Using Phoenix generators, I efficiently scaffolded initial code structures, including models, controllers, views, and templates. This allowed me to focus more on the specific application logic and functionality.

By embracing these lessons learned, I have strengthened my skills in web development using Elixir and Phoenix, and I look forward to applying these insights in future projects.

If you have any questions or need further assistance, please don't hesitate to reach out to me.

Features

  • Workout Tracker : Track your workouts with ease. Log details such as exercise, sets, reps, weights, and duration, allowing you to monitor your progress over time.
  • Progress Visualizations : Visualize your progress through charts and graphs. Gain insights into your performance, set goals, and stay motivated throughout your fitness journey.
  • Exercise Library : Access a comprehensive library of exercises. Explore various workouts, view detailed instructions, and learn proper form to maximize your results and minimize the risk of injury.
  • Scoreboard with PubSub : Engage in friendly competition with other users on the real-time scoreboard. See who's on top and challenge yourself to climb the ranks.
  • Workout History : Keep a record of your past workouts. Review previous sessions, analyze trends, and make informed decisions about your training program.

Getting Started

To get started with Muscle Mind, follow these steps:

  1. Installation : Clone the repository and navigate to the project directory.
git clone https://github.com/0xmohsinpathan/muscle-mind.git
cd muscle-mind 
  1. Environment Setup : Ensure that you have Elixir and Phoenix installed on your system.
  2. Database Setup : Create a new PostgreSQL database for Muscle Mind and update the database configuration in config/dev.exs.
  3. Dependency Installation : Install the project dependencies.
mix deps.get 
  1. Database Migration : Run the database migration to set up the required tables.
mix ecto.migrate
  1. Starting the Application : Start the Phoenix server.
mix phx.server
  1. Accessing the Application : Open your web browser and visit http://localhost:4000 to access the Muscle Mind application.

Credits

The website freepik deserves credit for generously providing its impressive background images.

Credit is due to the website uiverse.io for providing us with their amazing UI elements, which we are free to use in our application.

Their CSS button styles have greatly improved the visual appeal of our project, and I am thankful for their talent and generosity in sharing them.

To create an exercise library using CSV file, I utilized two CSV files: the Gym Exercise Dataset and Fitness Exercises. By extracting the necessary information from both files, I was able to convert the data into Elixir code. An example of this process can be found on my GitHub repository titled CSV_file_convert_to_Elixir_code.

Acknowledgements

Muscle Mind is built using the Phoenix LiveView framework, which provides real-time interactivity and seamless user experiences. We would like to thank the Phoenix community for their continuous support and contributions.

Contributing

Contributions to Muscle Mind are welcome! If you encounter any bugs or have suggestions for new features, please open an issue in the GitHub repository. If you would like to contribute code, submit a pull request with your proposed changes.

License

Muscle Mind is released under the MIT License . Feel free to modify and use the codebase according to your needs.

Support

If you have any questions or need further assistance, please email me [email protected] or DM me on Twitter.

🔗 Links

twitter

Learn more

muscle-mind's People

Contributors

codebymohsin avatar

Stargazers

Sucipto avatar Brendon Otto avatar Maqbool Khan avatar Aayush Sahu avatar German Öö avatar Camilo avatar Martin avatar Dennis Njuguna avatar Delbert F. avatar Estevan Jantsk avatar Mariusz Kużel avatar Juergen Braungardt avatar Vova Gula avatar yfeng avatar  avatar François Roucoux avatar  avatar Mike avatar Benjamin Gandhi-Shepard avatar Steve avatar Alessandro Iob avatar Felipe Menegazzi avatar Braidon Whatley avatar Bedirhan Çelik avatar  avatar Vadim Anyukov avatar

Watchers

Maqbool Khan avatar  avatar  avatar

muscle-mind's Issues

rewrite all tailwaid css.

I will be personally redoing the entire Tailwind CSS as I am now utilizing chatGPT to style it on my own.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.