Skip to content

luismtorresv/ArsLonga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ars Longa

Ars Longa's logo.

Online art store using the Laravel PHP framework. Project for the course “Software Architecture” (SI3001) taught by professor Daniel Correa at EAFIT University during the 2025-2 semester.

Screenshots

Artworks list.

Auction view.

Admin panel.

Tip

Framed screenshots created using the open-source web app Pika.

Requirements

Production environment installation

Create a .env.production file (see the final section of the .env.example) and run Docker Compose:

docker compose --file compose.prod.yaml up --build --detach

Development environment setup

Install dependencies

composer install

Setup environment

composer setup

Note

The command above will run a custom Composer script, defined in composer.json, that will:

  1. Create the .env from the .env.example
  2. Create an encryption APP_KEY
  3. Create an empty database/database.sqlite (in case we want to use sqlite)
  4. Run migrations
  5. Seed the database
  6. Symlink public/storage to storage/app/public

Customize .env (optional)

If you want to use MySQL, change the DB_* variables in .env with your config:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=arslonga
DB_USERNAME=root
DB_PASSWORD=root

Warning

You must create the DB_DATABASE yourself. We're not automating that for you.

Start up development server

composer dev

Or, if you don't want to rely on npm, or use pail, etc:

php artisan serve

Git hooks

We use the lefthook Git hooks manager to run pre-commit hooks that:

  1. Automatically format and stage PHP code using Laravel Pint

  2. Perform static analysis on the PHP code using Larastan

  3. Format Blade templates using the shufo/blade-formatter

  4. Checks for missing translation files or strings using the Laravel translations checker

  5. Generate autocompletion for models with laravel-ide-helper

Tip

Take a look at the config/lefthook.yaml file.

API

The API route is /api/.

You may access the /docs/api route to read the OpenAPI documentation automatically generated by Scramble.

Ars Longa API documentation.

Tip

See ArtworkResource for an example on how to document the response attributes of your API endpoint. If you want to see more, check out the official Scramble demo.

Contributing

I know you might not open a PR, but if you were to…

  • And familiarize yourself with these two diagrams:

    Class diagram Architecture diagram
    Class diagram. Architecture diagram.

Authors

  1. Jerónimo Acosta
  2. Wendy Benítez
  3. Luis Torres

License

Copyright 2025 The Authors

About

Online art store using the Laravel PHP framework. Project for the course “Software Architecture” (SI3001) taught by professor Daniel Correa at EAFIT University during the 2025-2 semester.

Topics

Resources

Stars

Watchers

Forks

Contributors