Skip to content

Repository files navigation

Echo Edtech

A modern, full-stack web application for a music school, built with Next.js, TypeScript, and Tailwind CSS. This platform enables students to explore courses, view instructor profiles, showcase their performances, and manage their learning journey.

🚀 Features

  • Authentication: Secure user signup and login using JWT and Bcrypt.
  • Course Management: Browse and view detailed information about various music courses.
  • Instructor Profiles: Meet the faculty with detailed instructor bios.
  • Student Showcase: An interactive gallery for students to upload and share their video/audio performances.
  • Testimonials: Read success stories and feedback from students and parents.
  • Contact Form: Integrated contact form with email notifications using Nodemailer.
  • Responsive Design: Fully responsive UI built with Tailwind CSS and Framer Motion for smooth animations.
  • State Management: Efficient global state management using Redux Toolkit.

🛠️ Tech Stack

Frontend

Backend

Utilities

🏁 Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • Node.js (v18 or higher)
  • MongoDB (Local or Atlas connection string)

Installation

  1. Clone the repository

    git clone https://github.com/sachinkg-13/echoedtech.git
    cd echoedtech
  2. Install dependencies

    npm install
  3. Set up Environment Variables Create a .env file in the root directory and add the following variables:

    MONGO_URI=your_mongodb_connection_string
    TOKEN_SECRET=your_jwt_secret_key
    DOMAIN=http://localhost:3000
    # Add other necessary variables (e.g., for Nodemailer)
  4. Run the development server

    npm run dev
  5. Open the application Visit http://localhost:3000 in your browser.

📂 Project Structure

src/
├── app/                # Next.js App Router pages and API routes
│   ├── api/            # Backend API endpoints
│   ├── (auth)/         # Authentication routes
│   └── ...             # Other application routes
├── components/         # Reusable UI components
│   ├── ui/             # Generic UI elements (buttons, cards, etc.)
│   └── ...             # Feature-specific components
├── dbConnect/          # Database connection logic
├── models/             # Mongoose data models
├── store/              # Redux store configuration
├── utils/              # Helper functions and utilities
└── ...

🤝 Contributing

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

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.

About

A modern, full-stack web application for a music school, built with Next.js, TypeScript, and Tailwind CSS. This platform enables students to explore courses, view instructor profiles, showcase their performances, and manage their learning journey.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages