Skip to content

benycodes/atomcms

 
 

Repository files navigation

Atom CMS

What is Atom CMS?

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?

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.

Why was Atom CMS made?

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!

Setup guide

To install Atom CMS you'll need to do the following:

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

Windows

[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

Linux

[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

Change theme

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.

Create a theme

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

image

All credits for the theme system goes to qirolab

Link nitro

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.

Add a new language for translations

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.

Credits

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 58.4%
  • Blade 38.6%
  • CSS 1.3%
  • JavaScript 1.1%
  • Other 0.6%