Skip to content

Latest commit

 

History

History
118 lines (98 loc) · 4.37 KB

README.md

File metadata and controls

118 lines (98 loc) · 4.37 KB

📋 Table of Contents


✨ Features

  • AI-Powered Content Generation: Uses the Gemini API to dynamically generate course content.
  • Customizable Modules: Adjust course modules, topics, and content to suit different learning paths.
  • Responsive Design: Built with Tailwind CSS for a seamless experience on any device.
  • Full Stack: Integrates front-end, back-end, and database layers using Drizzle ORM and Next.js API routes.
  • Deployable on Vercel: Optimized for deployment on Vercel with Next.js serverless functions.

🛠️ Tech Stack

  • Frontend: Next.js, React, Tailwind CSS
  • Backend: Next.js API Routes, Gemini API (for AI functionality)
  • Database: Drizzle ORM (with SQL or SQLite as per preference)
  • Deployment: Vercel (optional)

🚀 Getting Started

Follow these steps to set up the project locally.

  1. Clone the repository:

    git clone https://github.com/omkarspace/coursei.ai.git
    cd yourproject
  2. Install dependencies:

    yarn install

    or

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add the necessary environment variables as per your configuration. Ensure you include any API keys or database connection strings required by the application.

🌐 Environment Variables

Create a .env file in the root directory and add the necessary environment variables as per your configuration. Ensure you include any API keys or database connection strings required by the application.

🏃 Running the App

To start the development server, run:

yarn dev

or

npm run dev

🗂️ Project Structure

/project-root
│── /pages
│   ├── index.js          # Main entry point for the application
│   ├── _app.js           # Custom App component for initializing pages
│   ├── api               # API routes for server-side logic
│── /components
│   ├── Header.js         # Header component
│   ├── Footer.js         # Footer component
│   ├── Layout.js         # Layout component for wrapping pages
│── /styles
│   ├── globals.css       # Global styles
│   ├── Home.module.css   # Styles specific to the Home page
│── /public
│   ├── images            # Static images
│   ├── favicon.ico       # Favicon for the application
│── /api
│   ├── hello.js          # Example API route
│── .env                  # Environment variables
│── package.json          # Project metadata and dependencies
│── README.md             # Project documentation

Explanation:

  • /pages: Contains the main pages of your application, including the entry point (index.js) and custom application setup (_app.js). The api directory within pages is used for server-side API routes.
  • /components: Houses reusable UI components like Header, Footer, and Layout.
  • /styles: Contains global and module-specific CSS files for styling the application.
  • /public: Used for static assets like images and the favicon.
  • /api: Contains server-side logic for handling API requests.
  • .env: Stores environment variables needed for configuration.
  • package.json: Lists project dependencies and scripts.
  • README.md: Provides documentation and instructions for the project.

This structure is designed to be modular and scalable, making it easier to maintain and extend the application.


## 📸 Screenshots
Include screenshots of the application here.

## 🤝 Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Open a pull request.

## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

Make sure to replace placeholders like yourusername, yourproject, and any other project-specific details with actual information relevant to your project.