Skip to content

Welcome to Alternate CMS documentation

This documentation is to serve as the knowledgebase for AlternateCMS and officially supported features, setup, deployment, and customazation of your Alternate application.

Want a quickstart

  • Learn more about the features - Check out Alternate features in full here.
  • Quick Start Guide - Get started quick with our quick start guide here.
  • Deployment - Deploy your application to various services or even on your own server.
  • Resources - Developer resources are the best way to get started and be successfull with Alternate CMS. Check some out here.

Alternate CMS Folder layout

.git    # This folder holds the details of our github public repository (not apart of the overall application).

env # Once you performed virtualenv env in your terminal as mentioned here https://docs.alternatecms.com/quickstart you will see the env folder which holds your application's apps, server details, and other python related tools to get the application to start.

media # A folder to hold our media based files such as images, audio, videos, etc.
nginx # This folder is to hold our nginx details, which is related to our docker support
shop/ # holds our application's details including settings.py folder
    _pycache_  # Our cache folder.
    templates/       # The template folder and files where our frontend and backend templates are supported.

    _init_.py # Important file that is blank but is supported by Django applications to run along with the manage.py file to build our application.

    asgi.py and wsgi.py # These files tells our server how to run our application.
    models.py # This is a file that directly imports certain models into our database, it is also influencial file with Graphql.

    settings.py # This is one of the most important files in Django applications. It contains all the details about our applications, services, and other important information to keep our application running.

    urls.py # Important file that allows our application know how to route certain apps and services to the admin area.

.gitignore # This file holds content of what to ignore when pushing changes to github
db.sqlite3 # This is our sqlite database, this is only important if you are using sqlite instead of the default Postgresql database.

DockerFile # This file contains details needed to launch our application in docker, see the deployment section

manage.py # One of the files that our system needs to run. It contains details and commands to launch our application and perform several things such as creating a administrator user, migrating our database, and more.

package.json # Useful file for javascript based plugins and apps.
package-lock.json # File is important for locking javascript plugins and apps to a certain version number.

project.db # Holds details of our database
README.md # This appears in the official github repository of our application. It's only function is to explain about our application to those who are visiting our application (can be removed)

requirements.txt # An important file that holds all of our apps in one place with pinned version numbers. By running pip install -r requirements.txt command, we can install all of our apps in one go.