/flexflow

Build a fitness tracking application where users can create and document their workouts and track their progress. The tools used are Node.js, Express.js, Handlebars.js, MySQL, Sequelize ORM, and Canva.

Primary LanguageJavaScript

flexflow

Description

A collaborative full-stack application that addresses a real-world problem using a robust back end with servers, databases, advanced APIs, and user authentication. This project builds on agile development methodologies, including GitHub for version control, project management tools, and Git branch workflow for feature and bug fixes. The application's front end is developed from scratch, emphasizing reinforced skills and a stronger foundation.

User Story

As a coding bootcamp student, I want to collaborate with my team to create a full-stack application that solves a real-world challenge. This Fitness Workout Tracker (FlexFlow) application integrates a robust back end with servers, databases, advanced APIs, and user authentication. By starting the front end from scratch, our team aims to enhance our existing abilities, solidify our understanding of front-end and back-end dynamics, and leverage our improved skills gained in recent weeks. The project will showcase problem-solving skills, crucial for future development role interviews.

Accepance Criteria

  1. Technology Stack:

    • Node.js and Express.js for creating a RESTful API.
    • Handlebars.js as the template engine.
    • MySQL and Sequelize ORM for the database.
    • Use at least one new library, package, or technology not covered in previous projects.
  2. API Functionality:

    • Implement both GET and POST routes for retrieving and adding new data.
    • Use RESTful principles in API design.
  3. MVC Structure:

    • Organize the project with a folder structure following the MVC paradigm.
  4. Authentication:

    • Implement user authentication using express-session and cookies.
  5. Security:

    • Protect API keys and sensitive information with environment variables.
  6. Deployment:

    • Deploy the application using Heroku, ensuring the deployed version includes real-world data.
  7. User Interface:

    • Develop a polished UI that is responsive and interactive, accepting and responding to user input.
  8. Coding Standards:

    • Adhere to good-quality coding standards, including file structure, naming conventions, class/id naming conventions, indentation, and quality comments.
  9. README:

    • Create a professional README with a unique name, project description, technologies used, a screenshot, and a link to the deployed application.

Technologies Used

  • Node.js
  • Express.js
  • Handlebars.js
  • MySQL
  • Sequelize ORM

Screenshot

image image image

Deployed Application

(Link to Heroku)