Nabeghe is a modern learning platform for online courses, designed to deliver a seamless and efficient experience for both learners and educators. Built with cutting-edge technologies, Nabeghe combines a robust backend with a sleek and responsive user interface.
- Course Management: Create, edit, and organize online courses.
- User Authentication: Secure login and signup system.
- Responsive Design: Optimized for all devices using Tailwind CSS.
- Dynamic Frontend: Built with React and Next.js for an interactive and fast user experience.
- Database Integration: MongoDB for reliable and scalable data storage.
- Real-time Updates: Fast data loading and interaction through API endpoints.
- Next.js: Framework for server-rendered and statically generated React applications.
- React: JavaScript library for building user interfaces.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- Next.js: JavaScript runtime environment.
- MongoDB: NoSQL database for managing course and user data.
- Node.js (v16 or later)
- MongoDB (running locally or via a cloud service like MongoDB Atlas)
-
Clone the repository:
git clone https://github.com/amir4976/nabeghe.git
-
Navigate to the project directory:
cd nabeghe
-
Install dependencies:
npm install
-
Create a
.env
file for environment variables:MONGO_URI=your-mongodb-connection-string NEXTAUTH_SECRET=your-secret-key
-
Run the development server:
npm run dev
-
Open your browser and go to http://localhost:3000.
├── public # Static files (images, fonts, etc.)
├── src
│ ├── components # Reusable React components
│ ├── pages # Next.js pages (routes)
│ ├── styles # Tailwind CSS configuration and global styles
│ ├── utils # Utility functions and helpers
│ ├── models # MongoDB models
│ ├── api # API route handlers
├── .env # Environment variables
├── package.json # Project dependencies and scripts
npm run dev
: Start the development server.npm run build
: Build the project for production.npm start
: Start the production server.npm run lint
: Run the linter to check for code issues.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add a new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Thanks to the open-source community for their amazing tools and libraries.
- Special thanks to all contributors who make this project possible.