Skip to content

Reusable open source platform made to centralize whatever you want (activities in Quebec in this case)

License

Notifications You must be signed in to change notification settings

AlexisAnzieu/Acti

Repository files navigation


Reusable open source platform made to centralize whatever you want (activities in Quebec in this case).

Maintainability Rating Quality Gate Status Reliability Rating Security Rating MIT license

AboutTiersFeaturesInstallationDatabase


About

After two years spent surveying Quebec, an idea popped into my head: why not referencing all theses adventures within a hand-sewn website? So I could also implement all the JS fatigue in one place 💪

Tiers

This idea uses a lot of tiers library/framework/Saas products without which it can't work. All of them are free to use as long as you develop an open source project.

Saas Product

  • Backend API: Vercel
  • Database: Supabase
  • Deployment: Vercel
  • Code quality: SonarCloud
  • Analytics: Google Analytics
  • Newsletter: Sendinblue

Very useful JS libraries

  • Styling: Chakra-UI
  • Language: JS/Typescript/React
  • Framework: NextJS
  • Map: Leaflet
  • Form validation: Formik
  • Internationalization: I18next
  • Date calculation: Dayjs
  • Code formatting: Eslint

Installation

  1. Make sure that you have nodeJS installed on your machine.
  2. Fill the .env.example file accordingly the instructions then rename it to .env.
  3. The backend is decoupled from the frontend and lives in pages/api/ folder. Here is where Supabase SaaS is called but you could replace it by any external services.

Features

  • Analytics
  • Different rendering strategies for speediness (CSR on the main list and SSG for singleton pages)
  • Filtering
  • Internationalization
  • Map service
  • Searching

Screen Shot 2021-12-23 at 1 25 14 PM

Screen Shot 2021-12-23 at 1 26 43 PM

Screen Shot 2021-12-23 at 1 27 28 PM

Database

Supabase SaaS uses Postgresql under the hood and the schema is built like this:

column name data type
compagny text
picture_url text
address text
city text
postal_code text
phone text
price bigint
carbon_footprint bigint
id uuid
email text
website text
created_at timestamp with time zone
name jsonb
social_media json
description jsonb
location json
review jsonb
seasons ARRAY

Openapi specifications allows us to generate a typescript file on fly corresponding to this schema. You can find it in the repo here.

About

Reusable open source platform made to centralize whatever you want (activities in Quebec in this case)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published