The Mobile Hour is a dynamic gym website built with Next.js 13, React, Tailwind CSS, DaisyUI, and MySQL. It features a fully functional admin page where the class schedule and admin users can be updated with XML documents.
Timespent: 37 hours 3 mins
- 🔒 Full customer and admin authentication with encryption
- ✍️ Customers can create and view blog posts
- ✅ Full client-side form validation
- 📱 Fully responsive on mobile
- 🤩 Modern corporate design
- 🛍️ Customers can book classes
- 🔍 View classes on a 7 day timetable
- 🛡️ Middleware to prevent customers or unauthenticated users from accessing the Admin page
- 👤 Admins can add new gym classes and new admin users with XML documents
To run this on your local machine, you will need to have the latest version of Node.js installed and access to a MySQL database.
- Clone the repository to your local machine
- Import the database.sql file to phpMyAdmin or your MySQL server
- Open your terminal and run
npm install
- Then run the
npm run start
command - Access the website on port 3000 and enjoy!
High Street Gym includes a test suite that ensures the functionality of the app. This test suite includes unit tests written with Jest and React Testing Library along with End-to-End tests written with Selenium WebDriver. To run the tests use the following commands:
- To run the entire test suite use
npm run test
- To only run end-to-end tests use
npm run e2e
- To only run unit tests use
npm run unit