Welcome! This is an open-source Contact Management System built using C++, Drogon (web framework), MySQL, and Next.js for the frontend. It's still under active development and you're invited to contribute or follow along.
The goal of this project is to learn and apply following data structures as much as possible:
- Sequential Containers (Arrays, vectors, linked lists, and other linear sturctures)
- Stacks, Queues, and Priority Queue (LIFO/FIFO)
- Binary Tree with Recursion or other loops
- Sets and Maps (Hash Maps)
- Sorting Algorithms
- Self-Balancing Search Trees (AVL, Red Black Trees)
- Graph (DFS, BFS, etc.)
Note: Not all of these structures may not naturally git into final application, but the goal is to try to incorporate them thoughtfully wherever possible to maximize learning and experience.
- Project setup
- Frontend UI with Next.js + Tailwind (Partially)
- Backend server initialized with Drogon
- Contact model and controller
- API routes for Add, View, Delete
- MySQL integration
- 🖥️ Backend: C++ with Drogon and MySQL C++ Connector
- 🌐 Frontend: Next.js with Tailwind CSS
- 🛠️ Build System: CMake
- Docker Container
- 💾 Database: MySQL
No setup needed! Just clone and run:
- Note: Make sure docker desktop is installed and running.
git clone https://github.com/codeiox/Contact-Manager
cd contact-manager
docker compose up --build
docker compose up
# To stop the docker container, run this command:
docker compose down- Frontend: (http://localhost:3000)
- Backend: (http://localhost:8000)
If you're interested in:
- C++ web development
- Building full-stack applications
- Learning Drogon or CMake
- Improving database-backed APIs
Feel free to fork the project, suggest improvements, or open a PR!
- How to use C++ in web applications with Drogon framework
- RESTful API design in C++
- Integrating MySQL with C++
- Creating a responsive UI with Next.js and Tailwind CSS
All contributions, suggestions, and feedback are welcome! Please open an issue or pull request.
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
© [Sagar Rai]