Welcome to the Yoga Registration App! This application allows users to register for yoga classes and provides a user-friendly interface for both the server and the React frontend.
- Age Limit: Participants must be aged 18-65.
- Monthly Fees: Participants pay 500 INR every month.
- Batch Selection: Four batches per day: 6-7 AM, 7-8 AM, 8-9 AM, and 5-6 PM. Participants can switch batches monthly.
The project is organized into two main directories:
- yoga-backend: Contains the server-side code using Node.js and Express.
- yoga-registration-form: A React app for the frontend.
Make sure you have the following software installed on your machine:
-
Clone the repository:
git clone https://github.com/your-username/yoga-registration-app.git
-
Navigate to the project directory:
cd yoga-registration-app
-
Install dependencies for the backend:
cd yoga-backend npm install
-
Install dependencies for the frontend:
cd ../yoga-registration-form npm install
- Validation: Validates user data received from the frontend.
- Database Storage: Stores user data in a database.
- Payment Integration: Simulates payment with a mock
CompletePayment()
function. - Response: Sends a response to the frontend based on the payment outcome.
- Navigate to the yoga-backend directory:
cd ../yoga-backend
- Run the server:
node server.js
The server will be running at http://localhost:5000.
- Form Submission: Collects user details and sends them to the REST API.
- Basic Validations: Ensures data integrity through basic validations.
1.Navigate to the yoga-registration-form directory:
cd ../yoga-registration-form
2.Run the React app:
npm start
The React app will be accessible at http://localhost:3000.
- ER Diagram: Includes an Entity Relationship (ER) diagram to illustrate the database structure.
- Table SQLs: Provides SQL statements for creating necessary tables.
+---------------------+ | yoga_admissions | +---------------------+ | id (PK) | | name (TEXT) | | age (INTEGER) | | selectedBatch (TEXT)| | joinDate (TEXT) | +---------------------+
- id is the primary key (PK) of the table.
- name is a text field for storing the user's name.
- age is an integer field for storing the user's age.
- selectedBatch is a text field representing the batch the user selected.
- joinDate is a text field storing the user's joining date.
- Cloud Hosting: Hosted the solution on Netlify..
Visit the Yoga Registration App