Skip to content

๐Ÿค API for website, where developers of all kinds can find teammates for building new projects

Notifications You must be signed in to change notification settings

S1riyS/CodeTogether

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


๐Ÿ› ๏ธ Technology Stack and Features

  • โšก FastAPI for the Python backend API.
    • โš—๏ธ SQLAlchemy for the Python SQL database interactions (ORM).
    • ๐Ÿ” Pydantic, used by FastAPI, for the data validation and settings management.
    • ๐Ÿ’พ PostgreSQL as the SQL database.
  • ๐Ÿ‹ Docker Compose for development and production.
  • ๐Ÿ“ฆ Poetry for Python dependencies management
  • ๐Ÿ”’ Secure password hashing by default.
  • ๐Ÿ”‘ JWT (JSON Web Token) authentication.
  • โœ… Tests with Pytest.

๐Ÿš€ Getting Started

First of all take a look at .env.example, this file contains examples of all env varariables that are required for this project. Create .env file in the root folder and fill it with your own varables. At this point you can follow one of this guides:

Local Development

Clone the repository:

git clone https://github.com/S1riyS/CodeTogether.git

Then download and install Poetry in order to install python dependencies with the following comand:

poetry install --with dev

Note

Commands above will install dev dependencies as well

Make sure that Postgres is running, so that you can apply migrations:

alembic upgrade head

At this point everything is set up and you can start the FastAPI server:

cd src/
uvicorn main:app --reload --workers 1 --host 0.0.0.0 --port 8080

Autogenerated documentation will be avaliable here

Docker Compose

Simply run

docker compose up -d --build

Application will be running on localhost:9999

๐Ÿ‘€ Preview

Interactive API Documentation

Image of Swagger documentation

โœ… Tests

Tests are located in /tests diretlory. Use the following comand to start them:

poetry run pytest

Note

At the moment testing is supported only if you use local development

Example of test results

๐Ÿ—บ๏ธ Roadmap

  • Major features:
    • Authorization and authentication
    • Core logic
    • Profiles
    • Search filters
    • Email notifications
  • Testing
  • Linting
  • Logging
  • CI/CD
  • Automatically deploy docs to GitHub Pages
  • Deployment

๐Ÿ’ฌ Contacts

Github Telegram Vkontakte Mail

โฌ†๏ธ Back To Top

About

๐Ÿค API for website, where developers of all kinds can find teammates for building new projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages