We are excited to introduce a new project in collaboration with Soul Connection, a very famous coaching agency.
This project is led by two project managers:
- Jean-Eudes Berlier, a very talented former businessman with a strong commitment to excellence and a track record of success (except his last project, which aimed to revolutionize communication and team efficiency in business units).
- Martin Sarnau, a graduate from a digital art school and a specialist in product design, has been working at Soul Connection for two years.
Soul Connection needs to develop a dashboard for their coaches to help them in their daily work. The coaches each have their own way of working and noting client information, making it difficult to transfer responsibilities from one coach to another. The goal is to standardize client files and processes.
- Project Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Key Components
- API Endpoints
- Deployment
- Contributing
- License
Soul Connection is a platform that enables dating coaches to:
- Manage their clients (customers)
- Schedule and organize events
- Analyze compatibility between clients
- Provide coaching tips
- Perform video analysis of client interactions
- View statistics and insights
- Manage a virtual wardrobe for styling advice
The application is designed with a user-friendly interface and incorporates various features to streamline the coaching process.
- User authentication and authorization
- Dashboard with key metrics and insights
- Customer management
- Event scheduling and management
- Compatibility checker
- Coaching tips repository
- Video analysis tool
- Statistical reports and visualizations
- Virtual wardrobe management
- Responsive design for mobile and desktop
- Next.js 14 (React framework)
- TypeScript
- Tailwind CSS for styling
- Framer Motion for animations
- React Hook Form for form handling
- Zod for form validation
- Recharts for data visualization
- FullCalendar for event management
- Radix UI for accessible component primitives
- FastAPI (Python framework)
- MongoDB for data storage
- PyJWT for authentication
- Pydantic for data validation
- Docker for containerization
- Docker Compose for multi-container management
-
Clone the repository:
git clone https://github.com/yourusername/soul-connection.git cd soul-connection
-
Set up environment variables:
- Copy
.env.example
to.env
in both frontend and backend directories - Fill in the required values in each
.env
file
- Copy
-
Install dependencies:
cd frontend && npm install cd ../backend && pip install -r requirements.txt
-
Start the development servers:
# In the frontend directory npm run dev # In the backend directory uvicorn main:app --reload
-
Open your browser and navigate to
http://localhost:3000
The project is divided into two main directories:
frontend/
: Contains the Next.js applicationbackend/
: Contains the FastAPI application
- Layout Component (
frontend/app/pagesLayout.tsx
) - Dashboard Page (
frontend/app/page.tsx
) - Video Analysis Page (
frontend/app/video/page.tsx
) - Customers Page (
frontend/app/customers/page.tsx
) - Events Page (
frontend/app/events/page.tsx
) - Wardrobe Page (
frontend/app/wardrobe/page.tsx
)
- Main Application (
backend/api.py
) - Authentication API (
backend/authentificationAPI.py
)
The backend provides various API endpoints for managing customers, events, tips, and more. Some key endpoints include:
/api/customers
: CRUD operations for customers/api/events
: CRUD operations for events/api/tips
: CRUD operations for coaching tips/api/ai/analyze_video
: Video analysis endpoint/api/compatibility
: Compatibility checking between customers
Refer to the api.py
file for detailed endpoint information.
The project is containerized using Docker, making it easy to deploy in various environments. Use the provided docker-compose.yml
file to spin up both the frontend and backend services:
- Ensure Docker and Docker Compose are installed
- Run the following command in the root directory:
docker-compose up --build
This will start the frontend, backend, and MongoDB services.
We welcome contributions to the Soul Connection project! Please follow these steps to contribute:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them with clear, descriptive messages
- Push your changes to your fork
- Submit a pull request to the main repository
Please ensure your code adheres to the existing style conventions and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For more detailed information on specific components or features, refer to the codebase and comments within the files. If you have any questions or need further assistance, please open an issue on the GitHub repository.
Gaulaume Contributions: 96 |
LouisLanganay Contributions: 89 |
ValentinPeron Contributions: 65 |
AugustinBst Contributions: 49 |