Skip to content

TDevUIT/Calento

Repository files navigation

Calento.space

A smart Calendar Assistant built with Node.js, PostgreSQL, and Redis. Manage your schedules, sync with Google Calendar, and automate your time management effortlessly.

🚀 Quick Start

Prerequisites

  • Docker and Docker Compose
  • Node.js (v16 or higher)
  • Git

Installation

  1. Clone the repository:
git clone <repository-url>
cd calento.space
  1. Copy environment variables:
cp .env.example server/.env
  1. Update the environment variables in server/.env with your configuration.

  2. Start the services using Docker Compose:

cd provision
docker-compose up -d
  1. Install dependencies and start the development server:
# Install server dependencies
cd server
npm install
npm run dev

# Install client dependencies (in another terminal)
cd client
npm install
npm start

📁 Project Structure

calento.space/
├── client/          # Frontend application
├── server/          # Backend API
├── provision/       # Docker configuration
├── data/           # Database data (gitignored)
│   └── redis/      # Redis data
├── docs/           # Documentation
└── README.md

🛠️ Development

Environment Variables

Copy .env.example to server/.env and configure:

  • DB_USER - PostgreSQL username
  • DB_PASSWORD - PostgreSQL password
  • DB_NAME - Database name
  • REDIS_PASSWORD - Redis password
  • REDIS_HOST - Redis host (default: localhost)
  • REDIS_PORT - Redis port (default: 6379)
  • REDIS_DB - Redis database number

Available Scripts

# Start all services
make up

# Stop all services
make down

# View logs
make logs

# Reset database
make reset-db

# Install dependencies
make install

Database

The application uses PostgreSQL as the primary database and Redis for caching and sessions.

  • PostgreSQL runs on port 5432
  • Redis runs on port 6379
  • Data is persisted in the data/ directory

🐳 Docker Services

  • postgres: PostgreSQL 15 Alpine
  • redis: Redis Alpine

📝 API Documentation

API documentation is available at /docs when the server is running.

🧪 Testing

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

🚀 Deployment

  1. Build the application:
npm run build
  1. Deploy using Docker:
docker-compose -f docker-compose.prod.yml up -d

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

If you have any questions or need help, please open an issue or contact the development team.

About

Calendar Assistant

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors