- Features
- Tech Stack
- Getting Started
- Environment Variables
- Running the App
- Project Structure
- Screenshots
- Contributing
- License
- 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.
- 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)
Follow these steps to set up the project locally.
-
Clone the repository:
git clone https://github.com/omkarspace/coursei.ai.git cd yourproject
-
Install dependencies:
yarn install
or
npm install
-
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.
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.
To start the development server, run:
yarn dev
or
npm run dev
/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
- /pages: Contains the main pages of your application, including the entry point (
index.js
) and custom application setup (_app.js
). Theapi
directory withinpages
is used for server-side API routes. - /components: Houses reusable UI components like
Header
,Footer
, andLayout
. - /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.