The Mother of All Calendars. A web application to easily manage large team of services providers.
Enough with crowded shared calendars, we need a better way to manage our team's tasks and services. This is where Calendarinho comes in. With Calendarinho, you can easily have an eagle view of your team's calendars and tasks, and manage them all in one place.
- Clone the repository:
git clone https://github.com/Cainor/Calendarinho.git
cd Calendarinho
- Build and Start the Docker image:
docker-compose -f docker-compose.test.yml up -d --build
- Wait for 1 min for the database to be ready.
- Go to http://localhost:8000 and login with the credentials:
admin
admin
- Clone the repository:
git clone https://github.com/Cainor/Calendarinho.git
cd Calendarinho
- Create a copy of the
.env.example
file and rename it to.env.prod
:
cp .env.example .env.prod
- Edit the
.env.prod
file and set the environment variables with your settings. - Add your SSL certificate to ssl folder. Must be called "certificate.crt"
ssl/certificate.crt
- If you don't have a SSL certificate, you can generate one with the following command:
bash generate-cert.sh
- Build and Start the Docker image:
docker-compose --env-file .env.prod -f docker-compose.prod.yml up -d --build
- Wait for 1 min for the database to be ready.
- Go to http://localhost and login with the credentials you set in the
.env.prod
file.
- You must have Python 3 installed.
- Install the requirements libraries:
python -m pip install -r requirements
- Go through the
Calendarinho/settings.py
and set your settings, specially the Database:
(In the Calendarinho/settings.py file)
# MySQL Database:
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.mysql',
# 'NAME': 'Calendarinho',
# 'USER': 'Calendarinhouser',
# 'PASSWORD': 'Calendarinhopassword',
# 'HOST': 'localhost',
# 'PORT': '',
# }
# }
# sqlite3 Database:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Also, in the same file, you can setup the Email settings:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
# Gamil Settings (You must enable "Less-Secure-App" in Google account settings)
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# EMAIL_HOST = 'smtp.gmail.com'
# EMAIL_PORT = 587
# EMAIL_USE_TLS = True
# EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
# EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASSWORD')
- Run: "makemigrations":
python manage.py makemigrations users
python manage.py makemigrations CalendarinhoApp
python manage.py makemigrations
- Run: "migrate":
python manage.py migrate users
python manage.py migrate CalendarinhoApp
python manage.py migrate
- Run: "collectstatic"
python manage.py collectstatic
- Create the admin user:
python manage.py createsuperuser
- Before adding item, do frontend check for fields.
- Add the ability to update or cancel leaves without the need for admin