Frontend Developer for a simple CRUD project

Job ID: 30853850

Budget: $250 – $750 USD

We are looking for a VueJS Frontend Developer for building a simple CRUD project for our gym.

We will provide the backend and the API endpoint for you. Our existing backend is using a MySQL database and the database is wrapped by Directus. This means you can use all the standard API endpoints with ease. You can check out the  https://docs.directus.io/reference/api/items/ for the API references.

You can expect that the CRUD Project will at least include (but not limited to) the following tables:
1. User table: Member information (e.g. Name, phone, email and roles .etc)
2. Subscriptions table: Manage various gym subscriptions (e.g. 3 months plans, 6 months plans .etc)
3. Class table: Create and manage classes offered by the gym (e.g. class start time, end time, weekdays, locations, coaches .etc)
4. Class attendance table (e.g. This table will reference class table and user table)
5. Payment records table: Connect to payment API (e.g. we are now using Stripe but will extend beyond Stripe after Q4 2021)
6. Documents table: Store relevant documents of each user (e.g. Documents will be stored in S3 buckets)
7. User performance table: Store gym performance of each user (e.g. the gym record of the user)
8. Permission table: Manage user permission

The above most layout generated via the same Vue components, such as Headers, Side Menus, Tables & Buttons (e.g. https://tailwindcomponents.com/component/projects-table). The project will also include some of the custom components such as login page (e.g. Form) and weight lifting calculators (e.g. Modals).

We have been using Open Studio as our backend so you can expect the schema will be 90% similar to this (https://www.openstudioproject.com/). Regarding the VueJS project, it’d be best if you use Nuxt, Tailwind and mostly reusable Vue components for easy maintenance. Let me know if you have other ideas of the stacks.

If we enjoy working with you, we may need you to help maintain this project for long terms. Of course this is not a compulsory requirement for this project.
Related categories: MySQL Frontend Development Vue.js