https://github.com/learnathon-by-geeky-solutions/segfault
Repository for team SegFault
https://github.com/learnathon-by-geeky-solutions/segfault
interview pair-coding problem-solving
Last synced: about 1 year ago
JSON representation
Repository for team SegFault
- Host: GitHub
- URL: https://github.com/learnathon-by-geeky-solutions/segfault
- Owner: Learnathon-By-Geeky-Solutions
- Created: 2024-12-24T12:15:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-01T12:08:28.000Z (about 1 year ago)
- Last Synced: 2025-04-01T13:23:23.109Z (about 1 year ago)
- Topics: interview, pair-coding, problem-solving
- Language: Python
- Homepage: https://codesirius.tech
- Size: 1.06 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# segfault
## Team Members
- takrim1999 (Team Leader)
- pronabpaul
- parthokr
## Mentor
- redwanuzzaman
## Project Description
**Codesirius**
Codesirius is a platform to arrange interview sessions with live coding. It is aimed to
facilitate the interview process for both the interviewer and the interviewee.
It has also problem archive where users can practice problems and can see the solutions
of the problems. Users can also submit their solutions and can see the results.
## Tech Stack
### Frontend
- **Framework:** Next.js
- **State Management:** Redux Toolkit & RTK Query
- **UI Library:** Material UI
### Backend
- **Framework:** Django & Django REST Framework (DRF)
- **Database:** PostgreSQL
### Distributed Processing
- **Message Broker:** Apache Kafka
- **Producers:** Django REST Framework (DRF)
- **Consumers:**
- Email Service
- Submission Service
- Notification Service
### Monitoring & Logging
- **Metrics & Monitoring:**
- Grafana
- Prometheus
- cAdvisor (for container monitoring in Grafana)
- **Logging:**
- Loki
- Promtail
### Deployment
- **EC2 Instance** (for production deployment)
- **CI/CD:** GitHub Actions
- **VPN/Networking:** Tailscale (for secure networking and access)
### Containerization
- **Docker & Docker Compose**
---
## Getting Started
### Using Docker
To spin up the project using Docker, follow the steps below:
0. Make sure you have Docker installed on your system. If not, you can download it
from [here](https://docs.docker.com/get-docker/).
1. Clone the repository
2. Run the following commands
```bash
docker-compose up backend # To start the backend server
docker-compose up frontend # To start the frontend development server
```
You can also run both the servers at once using the following command
```bash
docker-compose up
```
### Without Docker
TBD
### Sample .env file
```bash
DJANGO_DEBUG=
DJANGO_LOG_LEVEL=
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DJANGO_SECRET_KEY=
BACKEND_URL=
# Optional but requires manual configuration in settings.py
TAILSCALE_VPN_IP= # only if you are using Tailscale
TAILSCALE_MAGICDNS= # only if you are using Tailscale
```
## Development Guidelines
1. Create feature branches
2. Make small, focused commits
3. Write descriptive commit messages
4. Create pull requests for review
## Resources
- [Project Documentation](docs/)
- [Development Setup](docs/setup.md)
- [Contributing Guidelines](https://github.com/Learnathon-By-Geeky-Solutions/segfault/wiki/Contributing)