Welcome to Languini, a social platform that allows you to create and join events to learn and teach languages. Our aim is to make language learning a fun and enjoyable experience, while also providing an opportunity to meet new people with similar interests.
Watch our YouTube video to get a glimpse of how Languini works. (Click on the image to play)
Languini is built with the following technologies:
- Backend: .Net with C# and a REST API
- Database: SQL Server, hosted on Azure
- Frontend: React and Tailwind CSS
Languini offers the following key features:
- Users can create events based on specific languages and topics of interest.
- Participants can join events and engage in language learning and teaching activities.
- Users can search for events based on language, location, or other criteria to find events that match their interests.
- Event creators have the ability to edit or delete their events, ensuring they have full control over the content and details.
- Users can log in to Languini using their Google accounts, making the registration and sign-in process seamless and convenient.
- Languini's backend architecture is designed with scalability in mind, allowing the platform to handle a growing user base and increasing event activities.
- The backend follows best practices and uses the Unit of Work pattern for improved performance and the Repository pattern for easier testing and maintenance.
- All necessary endpoints are available for performing Create, Read, Update, and Delete (CRUD) operations on events and user data.
Our backend architecture is designed for scalability and testability. We have implemented the Unit of Work pattern for performance and the Repository pattern for ease of testing. Additionally, we have used generic classes to make it easier to implement new features in the future.
Languini is fully deployed on Azure, including the backend, frontend, and database. This ensures that the platform is accessible and reliable for all users.
We welcome contributions to improve Languini. If you have any ideas or suggestions, feel free to open a GitHub issue or submit a pull request.