Task Scheduler is a simple and intuitive web application for task planning, designed to help users organize their daily tasks. With this application, you can:
- Create and edit tasks.
- Set recurrence cycles and deadlines.
- Change task statuses.
- Organize tasks by due date.
- Manage tasks through a user-friendly interface.
- ✔️ Task creation functionality.
- ✔️ Ability to edit tasks.
- ✔️ Database integration for task storage.
- ✔️ Simple and attractive interface.
- ✔️ Search and delete tasks functionality.
The environment variables are set by default, but you can change them in the compose.yaml file:
- For the
golangservice:
...
environment:
PORT: ":7540"
MODE: "postgres"
DATABASE_URL: "postgres://root:password@postgres:5432/mydb?sslmode=disable"
PASSWORD: "qwerty12345678"
...If you need SQLite mode, specify MODE: "sqlite".
- For the
postgresservice:
...
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "mydb"
...To run integration tests, execute the following command:
make unit-testsIf you want to run the project using Docker, follow these steps:
- Make sure Docker is installed and running.
- Navigate to the project's root directory.
- Build and run the application using the command:
- By default, the application will use PostgreSQL. You can change this in the
compose.yamlfile.
- By default, the application will use PostgreSQL. You can change this in the
make run- Once the application is running, you can access it in your browser at http://localhost:7540/login.html (if you used a custom port, specify it).
- Programming Language: Go (Golang)
- Databases: PostgreSQL, SQLite
- Libraries:
- golang-jwt/jwt for JWT token handling.
- joho/godotenv for environment variable management.
- jmoiron/sqlx for database interaction.
- github.com/jackc/pgx/v5/stdlib and modernc.org/sqlite drivers for PostgreSQL and SQLite.
- stretchr/testify for testing.
Thank you for using Task Scheduler 🤝 The application will continue to be supported, and more features will be added in the future 💫