Nakisa is a Telegram bot that builds structured music communities around playlists.
Users can join categorized playlists, share songs, promote their channels, and connect with people who share the same music taste.
- 🔹 User registration via Telegram
- 🔹 Join categorized playlists
- 🔹 Submit songs and mention your Telegram ID or channel
- 🔹 React to songs shared by others
- 🔹 Community-driven channel promotion
- 🔹 Discover and connect with people who share your music taste
- .NET 9 (ASP.NET Core, Clean Architecture)
- PostgreSQL as the database
- Entity Framework Core for ORM and migrations
- Telegram Bot API
- Clean Architecture with the following layers:
APIApplicationDomainInfrastructurePersistenceSharedKernelTests
git clone https://github.com/AlirezaBHD/Nakisa.git
cd NakisaCreate a .env file (or use appsettings.json) with:
ConnectionStrings__DefaultConnection="Host=host;Port=5432;Database=nakisa;Username=postgres;Password=postgres"
TelegramBot__Token=Your Bot Token
TelegramClient__ApiHash=Your Telegram Api Hash
TelegramClient__ApiId=Your Telegram Api Id
TelegramClient__PhoneNumber=+111111111111
Using Docker:
docker-compose up -d
dotnet ef database update --project Nakisa.Persistence --startup-project Nakisa.API
dotnet run --project Nakisa.API
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
-
Fork it
-
Create your feature branch (
git checkout -b feature/amazing-feature) -
Commit your changes (
git commit -m 'Add some amazing feature') -
Push to the branch (
git push origin feature/amazing-feature) -
Open a Pull Request
This project is licensed under the MIT License.