Skip to content

IELTS Preparation Application A full-stack web application for IELTS test preparation, providing mock tests, feedback, and progress tracking for students preparing for the IELTS exam.

Notifications You must be signed in to change notification settings

Afran-zero/IELTSPrep

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

IELTS Preparation Application

A full-stack web application for IELTS test preparation, providing mock tests, feedback, and progress tracking for students preparing for the IELTS exam.

Features

  • User authentication (sign up, log in)
  • Mock tests for all IELTS components:
    • Listening
    • Reading
    • Writing
    • Speaking
  • Submit writing answers for review
  • Schedule and manage speaking test sessions
  • Track test history and progress
  • Online support chat/ticket system
  • Admin panel for managing users, tests, and reviewing submissions

Tech Stack

Frontend

  • React.js
  • React Router for navigation
  • Styled Components for styling
  • Formik and Yup for form validation
  • Axios for API calls
  • Chart.js for visualizations

Backend

  • Node.js
  • Express.js
  • MySQL database
  • Sequelize ORM
  • JWT for authentication
  • bcrypt for password hashing

Installation

Prerequisites

  • Node.js (v14.x or higher)
  • MySQL (v8.x or higher)
  • Bun (v1.x) - recommended for better package management

Setup

  1. Clone the repository
git clone https://github.com/yourusername/ielts-prep-app.git
cd ielts-prep-app
  1. Install dependencies
# Install backend dependencies
cd server
bun install

# Install frontend dependencies
cd ../client
bun install
  1. Configure environment variables
# In the server directory, create a .env file
cp .env.example .env

Edit the .env file to add your database credentials and other configuration.

  1. Initialize the database
# Create and configure your MySQL database
mysql -u root -p
CREATE DATABASE ielts_prep_db;
EXIT;
  1. Start the development servers
# Start backend server
cd server
bun run dev

# In a new terminal, start frontend server
cd client
bun run dev

The application will be available at:

Project Structure

ielts-prep-app/
├── client/                 # Frontend React application
│   ├── public/             # Static files
│   └── src/                # React source files
│       ├── assets/         # Images, fonts, etc.
│       ├── components/     # Reusable components
│       ├── context/        # React context providers
│       ├── hooks/          # Custom hooks
│       ├── pages/          # Page components
│       ├── services/       # API service functions
│       └── utils/          # Utility functions
│
└── server/                 # Backend Node.js application
    ├── config/             # Configuration files
    ├── controllers/        # Route controllers
    ├── middlewares/        # Express middlewares
    ├── models/             # Sequelize models
    ├── routes/             # API routes
    ├── services/           # Business logic
    └── utils/              # Utility functions

API Documentation

The API endpoints are organized by resource:

  • /api/auth - Authentication (login, register, etc.)
  • /api/tests - IELTS tests and questions
  • /api/speaking-tests - Speaking test scheduling
  • /api/support - Support ticket system
  • /api/admin - Admin-only operations

For detailed API documentation, please refer to the API Documentation file.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

IELTS Preparation Application A full-stack web application for IELTS test preparation, providing mock tests, feedback, and progress tracking for students preparing for the IELTS exam.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published