A full-featured coding bootcamp platform, designed for ease of use, with tasks, challenges, and learning materials tailored for students.
complete concept pages and write notes within the pages detailing any learning. View all of the work you've done in your student area.
Currently, OpenAI is used for generating concept blocks in the creation phase.
Variable | Description |
---|---|
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Public key for the Clerk authentication service. |
CLERK_SECRET_KEY | Secret key for the Clerk authentication service. |
DATABASE_URL | URL for the database connection. |
BASE_URL | Base URL for the application. |
OPENAI_CREDS | Credentials for the OpenAI service. |
CLOUDINARY_API_SECRET | Cloudinary API secret. |
CLOUDINARY_API_KEY | Cloudinary API key. |
CLOUDINARY_CLOUD_NAME | Cloudinary cloud name. |
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME | Public cloud name for Cloudinary. |
NEXT_PUBLIC_CLOUDINARY_PRESET_NAME | Cloudinary preset name. |
Variable | Description |
---|---|
DATABASE_URL | URL for the dev database connection. |
Variable | Description |
---|---|
DATABASE_URL | URL for the prod database connection. |
you need to run
npm run setup:create-admin <userid> "<name>"
In order to create an admin role for a user so they can access the admin and start interacting with Students or working on creating the platform content.
the userid should be gathered from clerk
Clerk.com is an authentication and user management service that simplifies the process of adding user authentication and management to your web applications. Steps involved:
- Head to https://dashboard.clerk.com/
- Add a new application and fill in name and login providers.
- Select Next.js from the quickstart and copy the API keys to the
.env
file.
ChatGPT, the sibling model to InstructGPT, is a form of generative AI — a tool that lets users enter prompts to receive humanlike images and text. We use this tool to generate social media post ideas. Steps involved to set up:
- Head to https://openai.com/ and sign up.
- Navigate to https://platform.openai.com/account/api-keys and generate a new secret key.
- Paste the key into the
.env
file with the appropriate key name.
Cloudinary is used to store the project assets and block images.
- navigate to ...
- get the secret keys and paste into.
Follow the steps to set up and run the application.
Linking Commits to Issues:
When working on an issue, reference it directly in the commit messages. Use keywords like
- Fixes #issue_number,
- Closes #issue_number,
- Resolves #issue_number. This automatically closes the issue when the commit is merged into the main branch. For example: sql.
You can also use References #issue_number if you’re working on the issue but aren’t resolving it yet. This links the commit to the issue without closing it.
Branch Naming:
Use descriptive branch names that include the issue number, like feature/12-add-login-form or bug/15-fix-loading-state. This keeps the branch history organized and helps you track progress by feature or bug.
Pull Requests (PRs):
When you create a pull request (PR),
mention the issue in the description. GitHub will automatically link the PR to the issue.
Using Closes #issue_number in the PR description will also close the issue upon merge.
This approach is often better than closing from a single commit, as it tracks all the work involved.
Track Progress with Project Boards (Optional):
For a more visual overview, use GitHub Projects or the Kanban board built into the repository. You can create a card for each issue and move it across columns like "To Do," "In Progress," and "Done" to track the issue's status.
Regular Updates in Issues:
Drop comments in the issue as you make progress, especially for larger tasks. This provides a log of decisions and progress for yourself and collaborators.
Milestones and Labels:
Use labels to categorize issues (e.g., bug, enhancement, documentation) and milestones for larger goals. Milestones can help you track overall progress for a set of issues, especially if you’re working toward a release.
..