mirror of
https://github.com/astuto/astuto.git
synced 2025-12-23 15:09:34 +01:00
Compare commits
1 Commits
v1.1.2
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9a6944404 |
22
README.md
22
README.md
@@ -1,11 +1,15 @@
|
||||
<p align="center">
|
||||
<img width="400" src="./images/logo-and-name.png" />
|
||||
<a href="https://astuto.io/?utm_campaign=github_logo&utm_source=github.com">
|
||||
<img width="400" src="./images/logo-and-name.png" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://www.producthunt.com/posts/astuto?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-astuto" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=179870&theme=neutral&period=daily" alt="Astuto - An open source customer feedback tool 🦊 | Product Hunt Embed" style="width: 250px; height: 54px;" width="250px" height="54px" /></a>
|
||||
<br>
|
||||
<h3 align="center">
|
||||
<a href="https://feedback.astuto.io/">✨ Try it out</a>
|
||||
•
|
||||
<a href="https://astuto.io/?utm_campaign=github_learnmore&utm_source=github.com">📖 Learn more</a>
|
||||
</h3>
|
||||
</p>
|
||||
|
||||
@@ -27,6 +31,22 @@ Astuto is an open source customer feedback tool. It helps you collect, manage an
|
||||
|
||||
## Get started
|
||||
|
||||
### Hosted
|
||||
|
||||
We offer a hosted solution, so you don't have to provision your own server. This is the easiest and fastest way to get started: you can sign up and start collecting feedback in a few minutes.
|
||||
|
||||
[Start your 7-day free trial](https://login.astuto.io/signup) without entering any payment method, then it's 15 €/month with annual subscription or 20 €/month with monthly subscription. [Learn more on astuto.io](https://astuto.io/?utm_campaign=github_getstarted&utm_source=github.com).
|
||||
|
||||
With the paid plan:
|
||||
|
||||
- You avoid deployment hassles like renting a server, issuing SSL certificates, configuring a mail server and managing updates
|
||||
- You get some OAuth providers out of the box: Google, Facebook and GitHub are ready to log your users in, no configuration needed
|
||||
- You get priority support
|
||||
- You support open source and get our eternal gratitude :)
|
||||
|
||||
|
||||
### Self-hosted
|
||||
|
||||
Read the [Deploy with Docker instructions](https://docs.astuto.io/deploy-docker) for the most comprehensive and up to date guide on installing and configuring Astuto.
|
||||
|
||||
What you find below are minimal instructions to get you started as quickly as possible:
|
||||
|
||||
@@ -15,9 +15,6 @@ class TenantsController < ApplicationController
|
||||
end
|
||||
|
||||
def create
|
||||
# NOTE: new tenants registrations disabled
|
||||
raise "Tenant registration disabled"
|
||||
|
||||
@tenant = Tenant.new
|
||||
@tenant.assign_attributes(tenant_create_params)
|
||||
authorize @tenant
|
||||
|
||||
@@ -125,7 +125,7 @@ const Billing = ({
|
||||
<p>Subscription {isExpired ? 'expired' : 'expires'} on {subscriptionEndsAtFormatted}</p>
|
||||
}
|
||||
|
||||
{/* {
|
||||
{
|
||||
(tenantBilling.status === TENANT_BILLING_STATUS_TRIAL) && chosenPrice === null &&
|
||||
<PricingTable
|
||||
prices={prices}
|
||||
@@ -169,14 +169,7 @@ const Billing = ({
|
||||
You will be redirected to Stripe, our billing partner.
|
||||
</SmallMutedText>
|
||||
</div>
|
||||
} */}
|
||||
|
||||
<p>
|
||||
If you want to manage your current subscription, please <a href="mailto:info@astuto.io">contact us via email</a>.
|
||||
</p>
|
||||
<p>
|
||||
We do not accept new subscriptions right now.
|
||||
</p>
|
||||
}
|
||||
|
||||
<div className="billingUsefulLinks">
|
||||
<ActionLink onClick={() => window.open('https://astuto.io/terms-of-service', '_blank')} icon={<LearnMoreIcon />}>
|
||||
|
||||
@@ -35,7 +35,7 @@ const OAuthProvidersList = ({
|
||||
|
||||
<p style={{textAlign: 'left'}}>
|
||||
<ActionLink
|
||||
onClick={() => window.open('https://docs.astuto.io/oauth/oauth-configuration-basics/', '_blank')}
|
||||
onClick={() => window.open('https://docs.astuto.io/category/oauth-configuration/', '_blank')}
|
||||
icon={<LearnMoreIcon />}
|
||||
>
|
||||
{I18n.t('site_settings.authentication.learn_more')}
|
||||
|
||||
@@ -7,7 +7,6 @@ import ConfirmEmailSignUpPage from './ConfirmEmailSignUpPage';
|
||||
import ConfirmOAuthSignUpPage from './ConfirmOAuthSignUpPage';
|
||||
import { IOAuth } from '../../interfaces/IOAuth';
|
||||
import HttpStatus from '../../constants/http_status';
|
||||
import Box from '../common/Box';
|
||||
|
||||
interface Props {
|
||||
oAuthLoginCompleted: boolean;
|
||||
@@ -117,70 +116,57 @@ const TenantSignUpP = ({
|
||||
});
|
||||
}
|
||||
|
||||
// return (
|
||||
// <>
|
||||
// <img src={astutoLogoImage} width={64} height={64} className="astutoLogo" />
|
||||
|
||||
// <div className="tenantSignUpContainer">
|
||||
// {
|
||||
// (currentStep === 1 || currentStep === 2) &&
|
||||
// <UserSignUpForm
|
||||
// currentStep={currentStep}
|
||||
// setCurrentStep={setCurrentStep}
|
||||
// authMethod={authMethod}
|
||||
// setAuthMethod={setAuthMethod}
|
||||
// oAuths={oAuths}
|
||||
// userData={userData}
|
||||
// setUserData={setUserData}
|
||||
// setGoneBack={setGoneBack}
|
||||
// />
|
||||
// }
|
||||
|
||||
// {
|
||||
// (goneBack || currentStep === 2) &&
|
||||
// <TenantSignUpForm
|
||||
// isSubmitting={isSubmitting}
|
||||
// error={error}
|
||||
// handleSignUpSubmit={handleSignUpSubmit}
|
||||
// trialPeriodDays={trialPeriodDays}
|
||||
// currentStep={currentStep}
|
||||
// setCurrentStep={setCurrentStep}
|
||||
// />
|
||||
// }
|
||||
|
||||
// {
|
||||
// currentStep === 3 && authMethod === 'oauth' &&
|
||||
// <ConfirmOAuthSignUpPage
|
||||
// baseUrl={baseUrl}
|
||||
// subdomain={tenantData.subdomain}
|
||||
// feedbackSpaceCreatedImage={feedbackSpaceCreatedImage}
|
||||
// />
|
||||
// }
|
||||
|
||||
// {
|
||||
// currentStep === 3 && authMethod === 'email' &&
|
||||
// <ConfirmEmailSignUpPage
|
||||
// subdomain={tenantData.subdomain}
|
||||
// userEmail={userData.email}
|
||||
// pendingTenantImage={pendingTenantImage}
|
||||
// />
|
||||
// }
|
||||
// </div>
|
||||
// </>
|
||||
// );
|
||||
|
||||
return (
|
||||
<>
|
||||
<img src={astutoLogoImage} width={64} height={64} className="astutoLogo" />
|
||||
|
||||
<div className="tenantSignUpContainer">
|
||||
<Box>
|
||||
<p>It is not possible to sign up to Astuto.</p>
|
||||
<p>You can <a href="https://github.com/astuto/astuto">self-host your own instance</a> instead.</p>
|
||||
</Box>
|
||||
</div>
|
||||
<img src={astutoLogoImage} width={64} height={64} className="astutoLogo" />
|
||||
|
||||
<div className="tenantSignUpContainer">
|
||||
{
|
||||
(currentStep === 1 || currentStep === 2) &&
|
||||
<UserSignUpForm
|
||||
currentStep={currentStep}
|
||||
setCurrentStep={setCurrentStep}
|
||||
authMethod={authMethod}
|
||||
setAuthMethod={setAuthMethod}
|
||||
oAuths={oAuths}
|
||||
userData={userData}
|
||||
setUserData={setUserData}
|
||||
setGoneBack={setGoneBack}
|
||||
/>
|
||||
}
|
||||
|
||||
{
|
||||
(goneBack || currentStep === 2) &&
|
||||
<TenantSignUpForm
|
||||
isSubmitting={isSubmitting}
|
||||
error={error}
|
||||
handleSignUpSubmit={handleSignUpSubmit}
|
||||
trialPeriodDays={trialPeriodDays}
|
||||
currentStep={currentStep}
|
||||
setCurrentStep={setCurrentStep}
|
||||
/>
|
||||
}
|
||||
|
||||
{
|
||||
currentStep === 3 && authMethod === 'oauth' &&
|
||||
<ConfirmOAuthSignUpPage
|
||||
baseUrl={baseUrl}
|
||||
subdomain={tenantData.subdomain}
|
||||
feedbackSpaceCreatedImage={feedbackSpaceCreatedImage}
|
||||
/>
|
||||
}
|
||||
|
||||
{
|
||||
currentStep === 3 && authMethod === 'email' &&
|
||||
<ConfirmEmailSignUpPage
|
||||
subdomain={tenantData.subdomain}
|
||||
userEmail={userData.email}
|
||||
pendingTenantImage={pendingTenantImage}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default TenantSignUpP;
|
||||
@@ -3180,9 +3180,9 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
serialize-javascript@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
|
||||
integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
|
||||
integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
|
||||
dependencies:
|
||||
randombytes "^2.1.0"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user