Projects
Projects are the foundation of organizing your feature flags in Basestack. Each project acts as a container for flags, environments, and team members. This guide will teach you how to create and manage projects effectively.
What Are Projects?
Projects help you:
- Organize Feature Flags - Group related flags together
- Manage Environments - Configure different environments (dev, staging, production)
- Control Access - Invite team members with specific permissions
- Isolate Configuration - Keep settings separate for different applications
Think of a project as a workspace for a specific application or product. You can have multiple projects for different products or environments.
Creating a Project
Open Create Project Modal
You can create a project from multiple places:
- Dashboard - Click "Create Project" in the Recent Projects section
- Navigation Bar - Click the Projects dropdown → "Create Project"
- Empty State - If you have no projects, click "Create your first project"
A modal will open asking for project details.
Enter Project Name
In the create project modal:
- Project Name - Enter a descriptive name (e.g., "Chat App", "E-commerce Platform")
- Requirements:
- Must be 1-30 characters
- Use clear, descriptive names
- Avoid special characters when possible
Use naming conventions that make sense for your organization. For example: "Product-Environment" or "Team-Product".
Create the Project
Click the Create button to create your project. You'll be automatically redirected to the project's Feature Flags page.
The project is created with default settings. You can configure environments, members, and security settings afterward.
Project Structure
Once created, each project contains:
Feature Flags
The main page where you manage all your feature flags for the project.
- View flags in card or table format
- Create, edit, and delete flags
- Filter and search flags
- View flag activity
Settings
Project settings are organized into tabs:
General Settings
- Project Name - Update the project name
- Project Owner - View the project owner information
- Endpoints - View API endpoints for integration
- Project Key - View and copy the project key
- Environment Keys - View and copy environment-specific keys
- Delete Project - Permanently delete the project
Members
- Team Members - View all project members
- Add Members - Invite new members to the project
- Manage Roles - Assign permissions to members
Environments
- Environment List - View all environments
- Create Environment - Add new environments
- Edit Environment - Update environment settings
- Delete Environment - Remove environments
Security
- Allowed Websites - Configure which websites can use your flags
- IP Rules - Block specific IP addresses from accessing flags
Accessing Projects
From Dashboard
- Click on a project card in Recent Projects
- Use the Projects dropdown in the navigation bar
Project Navigation
When a project is selected, you'll see:
- Feature Flags - Main flags page
- Settings - Project configuration
- General
- Members
- Environments
- Security
Project Keys and Integration
Each project has:
Project Key
A unique identifier for your project. Used for:
- SDK initialization
- API authentication
- Project identification
Environment Keys
Each environment within a project has its own key:
- Used for environment-specific flag evaluation
- Kept separate for security
- Can be rotated independently
Keep your project and environment keys secure. Never commit them to version control. Use environment variables in your applications.
Managing Projects
Switching Between Projects
Use the Projects dropdown in the navigation bar to:
- Select a different project
- View all your projects
- Access external projects (where you're a member)
Project Permissions
Projects support different roles:
- Owner - Full control over the project
- Admin - Can manage flags and settings
- Member - Can view and use flags (permissions vary)
Your role determines what actions you can perform. Contact the project owner if you need additional permissions.
External Projects
Projects where you're a member (not the owner) are marked as "External":
- You have limited permissions
- You can view and use flags based on your role
- You cannot delete the project or change certain settings
Best Practices
Project Organization
- One Project Per Application - Create separate projects for different applications
- Clear Naming - Use descriptive names that indicate the project's purpose
- Environment Separation - Use environments within projects rather than separate projects
- Team Collaboration - Add team members to projects for better collaboration
Project Settings
- Configure Environments First - Set up your environments before creating flags
- Add Team Members Early - Invite collaborators when starting a project
- Secure Your Keys - Never share project keys publicly
- Review Security Settings - Configure allowed websites and IP rules for production
Project Lifecycle
- Planning - Determine what flags you'll need before creating the project
- Setup - Create the project and configure environments
- Development - Create flags and integrate with your application
- Maintenance - Regularly review and clean up unused flags
- Archival - Delete projects that are no longer needed
Deleting a Project
Deleting a project is permanent and cannot be undone. All flags, environments, and member associations will be permanently removed.
To delete a project:
- Navigate to Settings → General
- Scroll to the Delete Project section
- Click Delete Project
- Confirm the deletion
Next Steps
Now that you understand projects: