Atom CMS is a Habbo retro CMS, aiming to provide an easy and solid experience for you and your users. It offers an easy development experience and includes a theming system, making it a breeze to create your own themes.
Official Discord server https://discord.gg/rX3aShUHdg
What technologies is being used?
-
Laravel 9.x (Latest as of August 2022) Laravel docs.
-
Vite Vite docs.
Depending on the theme used
- TailwindCSS Tailwind docs.
- Bootstrap Bootstrap docs.
- Vanilla CMS or something else
If you are new to Laravel, then there's luckily tons of resources online to help you learn it. One of the best options is those two video courses.
- https://laracasts.com/series/laravel-8-from-scratch
- https://laracasts.com/series/whats-new-in-laravel-9
Atom CMS was made to bring the retro community a variation to the CMS options out there. With its built in theme system, it becomes a breeze to brew up a new layout in no time, leaving room to either customise your hotel further, or simply contribute to the community by bringing new and exciting themes.
Laravel was chosen as its backend, due to it being robust and battle tested "in the real world" on top up that it has a huge community to back it, with tons of free (& paid) learning resources and its solid documentation that other CMS' normally lack. Combine those things together and you'll be able to build anything you want even as a beginner, you dont need to be a PHP expert or a frontend master to work with Atom CMS!
To install Atom CMS you'll need to do the following:
- PHP 8.1 or above PHP Downloads
- Composer v2 Composer Download
- NPM (LTS) Node Download
- An Arcturus Morningstar database Database repository
After all of the above has been installed you've to do the following:
- Open CMD and navigate into the path you want the CMS to be located at, and run the commands listed below
[Https] git clone https://github.com/ObjectRetros/atomcms.git
[SSH - Recommended] git clone [email protected]:ObjectRetros/atomcms.git
cd atomcms
copy .env.example .env (Don't forget to edit the database credentials inside the .env)
composer install
npm install && npm run build (For development run: npm run dev:[theme-name] (eg. npm run dev:atom))
php artisan key:generate
php artisan migrate --seed
For IIS
- You must link your site to the public folder of the CMS
If you're receiving a cURL 60 error due to eg. setting up find retro, then make sure you download the latest cacert.pem from https://curl.se/docs/caextract.html. Once downloaded place it in eg. C:/ then open your php.ini file, find curl.cainfo
uncomment it and put the absolute path + file name to your certificate (Eg. "C:/cacert-2022-07-19.pem"). Save the file and your problem should now be solved
[Https] git clone https://github.com/ObjectRetros/atomcms.git
[SSH - Recommended] git clone [email protected]:ObjectRetros/atomcms.git
cd atomcms
cp .env.example .env (Don't forget to edit the database credentials inside the .env)
composer install
npm install && npm run build (For development run: npm run dev:[theme-name] (eg. npm run dev:atom))
php artisan key:generate
php artisan migrate --seed
For NGINX you can copy the config from here: Deploy a site on nginx
To change the CMS theme, simply head to website_settings and change the value of the "theme" to the name you gave your new theme upon initialising it.
It's super easy to create a new theme, all you have to do is to enter the command below, in your terminal.
php artisan make:theme
Once the command has been executed, you'll be promted with easy to follow scaffolding steps.
It's recommended to not replacing the existing controllers during the theme scaffolding process, unless you are confident thats what you want
All credits for the theme system goes to qirolab
To link your nitro client to the CMS is super easy. All you have to do is to edit the nitro_path
in the habbo.php
file which can be found inside the config
folder.
Eg. Let's say your index.html is located in the public/client folder then your nitro_path must be /client as the CMS will automatically look inside the public folder for it.
To add a new language is fairly straight forward. All you have to do is to copy the en.json
inside the lang
folder and name is your language country code eg. "se.json" for Swedish.
Once you've your file prepared, you translate the "values" inside the JSON file. For example:
"Home": "Home",
becomes "Home": "Hem",
To add your language to the language selector, all you have to do is to add it inside the website_languages
database table. It will then automatically be appended to the select options.
- Kasja - Helping with design, ideas & GFX
- Oliver - Doing the profile page
- Kani - Rcon System & Findretros API
- Damue - German translations
- Live - French translations
- Talion - Turkish translations
- Raizer - Circinus