Documentation
  • Welcome
  • 🚀Getting Started
    • Introduction to AstroPlant
  • 🌱AstroPlant Kit Setup
    • Welcome to the setup guide
    • Designing your project
    • Operation & safety
    • Building the Maker Kit
      • Electronics assembly [Maker Edition]
      • Electronics assembly from scratch
      • Casing assembly v5.2
      • Extension shield connection mapping
    • AstroPlant software
      • Kit software setup
      • Building your kit software from scratch
      • Updating your kit software
      • Changelog
    • Registering and configuring a kit
    • AstroPlant Growth Protocol
    • Resources
    • Setup FAQ
  • ⌨️ Developers
    • Become a space dev!
      • AstroPlant Ecosystem
      • Data Concepts and Terminology
      • Software Architecture
      • GitHub Repositories
    • Core API
      • Getting Started
      • API Models
      • Live Feeds (WebSockets)
    • Community Platform
      • Architectural Decisions
      • Documentation
        • Project Structure
        • Front-End
        • Back-End
      • Development Setup
      • Roadmap
    • Software Customization
      • Use cases
    • Developers FAQ
  • 📚Resources
    • Contributing
Powered by GitBook
On this page
  • Technology Stack
  • Next.js (Front-End)
  • Strapi (API & Back-End)
  • PostgreSQL (Data Storage)

Was this helpful?

  1. ⌨️ Developers
  2. Community Platform

Architectural Decisions

Presenting the architectural decisions that took place to build the community platform

PreviousCommunity PlatformNextDocumentation

Last updated 4 years ago

Was this helpful?

For future reference and newcomers, the following section is presenting and documenting the architectural decisions that came into account when creating the platform. Those decisions were made in May & June 2020 following user research, and based on early mock-ups.

Technology Stack

Next.js (Front-End)

The platform is build using which is a React framework for production websites. Next does a lot out of the box, like pre-fetching pages, file-system routing, but most importantly it provides great tools for Client-Side Rendering, Server-Side Rendering and Static Generation.

Considering the different we were dealing with inside the platform, we were going to use all those rendering methods in order to create the best experience for our users.

And the cherry on top?! It's also open-source!

Strapi (API & Back-End)

For content management, the platform is powered by , not the best headless CMS for blogs/publication edition and creation (as of now), but probably the best overall when your content isn't limited to blogs or text, which is the case here. And it also has built-in support for GraphQL and user permissions and roles, which will come in handy for our community features.

And as a very popular open-source project, it's improving every single day!

PostgreSQL (Data Storage)

The data is stored on a database. All the database management is handled by Strapi and its own ORM mapping tools, for more information read .

Next.js
types of content
Strapi
PostgreSQL
Strapi Database Configuration