Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mathieubesson/weem


https://github.com/mathieubesson/weem

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

        

# Weem 🚘

Weem is an online vehicle maintenance log for drivers who aren't familiar with mechanics. The Weem application allows users to keep a digital maintenance log and book appointments with mechanics directly through the app. Weem brings together the current status of your vehicle and the ability to schedule appointments with professionals in one single application, aiming to be your car’s ecosystem within your phone.

## Prerequisites

![PHP](https://img.shields.io/badge/PHP-v7.4.2-777BB4?logo=php&logoColor=white&labelColor=777BB4&color=white)
![Apache](https://img.shields.io/badge/Apache-v2.4.4-D22128?logo=apache&logoColor=white&labelColor=D22128&color=white)
![Composer](https://img.shields.io/badge/Composer-v2.1.14-885630?logo=composer&logoColor=white&labelColor=885630&color=white)
![MariaDB](https://img.shields.io/badge/MariaDb-v10.3.32-003545?logo=mariadb&logoColor=white&labelColor=003545&color=white)
![Node.js](https://img.shields.io/badge/Node.js-v17.2.0-339933?logo=nodedotjs&logoColor=white&labelColor=339933&color=white)
![Npm](https://img.shields.io/badge/Npm-v8.1.4-CB3837?logo=npm&logoColor=white&labelColor=CB3837&color=white)
![ReactJs](https://img.shields.io/badge/ReactJs-v17.0.2-61DAFB?logo=react&logoColor=white&labelColor=61DAFB&color=white)

## Technical Overview

The project is organized into two main layers:

- **Backend**:
- An API created with the [Symfony](https://symfony.com/) framework ([PHP](https://www.php.net/)) and using the [API Platform](https://api-platform.com/) bundle.
- A [MariaDB](https://mariadb.com/kb/en/documentation/) database.

- **Frontend**:
- Built with the [ReactJS](https://reactjs.org/) framework.

## Running the Backend API (Two Options)

### 1. Using the Makefile (One Command)

If you don’t have `make` installed, you can [download it here](http://gnuwin32.sourceforge.net/packages/make.htm).

```shell
make start
```

### 2. Manually Running the Scripts

- Install all project dependencies:
```bash
composer install
```

- Create the database:
```bash
php bin/console doctrine:database:create
```

- Create database tables using migrations:
```bash
php bin/console doctrine:migration:migrate
```

- Load fixtures (dummy data):
```bash
php bin/console doctrine:fixtures:load
```

### Starting the Development Server

- Start the server on Windows:
```bash
sudo php -S 0.0.0.0:80
```

- The API will be accessible at [localhost:8000](http://localhost:8000).

- Alternatively, you can set up a VirtualHost on Linux with this configuration:

```apache

ServerName weem.com
ServerAlias www.weem.com

DocumentRoot /var/www/sites/weem/public
DirectoryIndex /index.php

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1


AllowOverride None
Order Allow,Deny
Allow from All

FallbackResource /index.php


DirectoryIndex disabled
FallbackResource disabled

ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined

```

- You will need to edit your hosts file by adding:

```bash
127.0.0.1 weem.com
```

- The API will then be accessible at [weem.com/api](http://weem.com/api).

## Makers

- πŸ’» Developer: [Mathieu Besson](https://github.com/MathieuBesson)
- πŸ”¬πŸ–Œ UX/UI Designer: [Alexandre Kling](https://www.linkedin.com/in/alexandre-kling-964577187/)
- πŸ“ˆ Marketing: [Lucas Recrosio](https://www.linkedin.com/in/lucas-recrosio-7b27bb1a2/), [Thibault BΓ©nard](https://www.linkedin.com/in/thibault-b%C3%A9nard-738842222/)

## License

This project is licensed under the GPL License. See the [LICENSE](./LICENSE) file for more details.