Skip to content

Commit 23e8201

Browse files
authored
Merge pull request #100 from CodeChefVIT/feat/readme
README
2 parents 7a2a4fe + e73187b commit 23e8201

File tree

2 files changed

+222
-6
lines changed

2 files changed

+222
-6
lines changed

README.md

Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
<p align="center"><a href="https://www.codechefvit.com" target="_blank"><img src="https://i.ibb.co/4J9LXxS/cclogo.png" width=160 title="CodeChef-VIT" alt="Codechef-VIT"></a>
2+
</p>
3+
4+
# Devsoc Backend '25
5+
6+
The official Backend API for DEVSOC'25 Hackathon Portal
7+
8+
9+
## Features
10+
- Fully-featured REST API built with Go
11+
- Postgres integration using SQLC for typesafe bindings
12+
- Structured routing and controllers
13+
- JWT authentication and middleware
14+
- Comprehensive logging and error handling
15+
- Docker and docker-compose configuration for containerized deployment
16+
- API documentation generation via scalar
17+
18+
19+
20+
## Tech Stack
21+
- [Go](https://golang.org/)
22+
- [Echo](https://echo.labstack.com/): Minimalist Go web framework
23+
- [SQLC](https://sqlc.dev/): Type-safe Go from SQL
24+
- [pgx](https://github.com/jackc/pgx): PostgreSQL driver for Go
25+
- [gomail](https://github.com/go-gomail/gomail): Send emails in Go
26+
- [go-redis](https://github.com/go-redis/redis): Redis client for Go
27+
- [PostgreSQL](https://www.postgresql.org/): Open-source relational database
28+
- [Docker](https://www.docker.com/): Container platform
29+
- [Redis](https://redis.io/): In-memory data store
30+
- [Goose](https://github.com/pressly/goose): DB migration tool for Go
31+
32+
## How To Run
33+
34+
#### Clone the repo
35+
```sh
36+
$ git clone https://github.com/CodeChefVIT/devsoc-be-25
37+
$ cd devsoc-be-25
38+
```
39+
40+
#### Download Dependencies
41+
```sh
42+
$ go mod download
43+
```
44+
45+
#### Fill Environment Variables
46+
```sh
47+
$ cp .env.sample .env
48+
```
49+
50+
#### Start Containers
51+
```sh
52+
$ docker compose up --build
53+
```
54+
55+
#### Apply Migrations
56+
```sh
57+
$ make up
58+
```
59+
## Contributors
60+
<table>
61+
<tr align="center" style="font-weight:bold">
62+
<td>
63+
<p align="center">
64+
<img src = "https://avatars.githubusercontent.com/u/71623796?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
65+
</p>
66+
<p style="font-size:17px; font-weight:600;">Vedant Matanhelia</p>
67+
<p align="center">
68+
<a href = "https://github.com/RustyDev24"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
69+
<a href = "https://www.linkedin.com/in/vedant-matanhelia-aa171027b/">
70+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
71+
</a>
72+
</p>
73+
</td>
74+
75+
<td>
76+
<p align="center">
77+
<img src = "https://avatars.githubusercontent.com/u/155614230?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
78+
</p>
79+
<p style="font-size:17px; font-weight:600;">Soham Mahapatra</p>
80+
<p align="center">
81+
<a href = "https://github.com/Soham-Maha"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
82+
<a href = "https://www.linkedin.com/in/soham-mahapatra-433bb428a/">
83+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
84+
</a>
85+
</p>
86+
</td>
87+
88+
<td>
89+
<p align="center">
90+
<img src = "https://avatars.githubusercontent.com/u/86644389?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
91+
</p>
92+
<p style="font-size:17px; font-weight:600;">Aman L</p>
93+
<p align="center">
94+
<a href = "https://github.com/Killerrekt"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
95+
<a href = "https://www.linkedin.com/in/aman-l-922819251/">
96+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
97+
</a>
98+
</p>
99+
</td>
100+
101+
<td>
102+
<p align="center">
103+
<img src = "https://avatars.githubusercontent.com/u/139199971?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
104+
</p>
105+
<p style="font-size:17px; font-weight:600;">Vaibhav Sijaria</p>
106+
<p align="center">
107+
<a href = "https://github.com/sophic00"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
108+
<a href = "https://www.linkedin.com/in/vaibhav-sijaria/">
109+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
110+
</a>
111+
</p>
112+
</td>
113+
114+
115+
116+
117+
118+
119+
</tr>
120+
121+
<td>
122+
<p align="center">
123+
<img src = "https://avatars.githubusercontent.com/u/74227363?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
124+
</p>
125+
<p style="font-size:17px; font-weight:600;">Jothish Kamal</p>
126+
<p align="center">
127+
<a href = "https://github.com/JothishKamal"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
128+
<a href = "https://www.linkedin.com/in/jothishkamal/">
129+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
130+
</a>
131+
</p>
132+
</td>
133+
134+
<td>
135+
<p align="center">
136+
<img src = "https://avatars.githubusercontent.com/u/80804989?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
137+
</p>
138+
<p style="font-size:17px; font-weight:600;">Aman Singh</p>
139+
<p align="center">
140+
<a href = "https://github.com/DevloperAmanSingh"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
141+
<a href = "https://www.linkedin.com/in/amansingh2112/">
142+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
143+
</a>
144+
</p>
145+
</td>
146+
147+
<td>
148+
<p align="center">
149+
<img src = "https://avatars.githubusercontent.com/u/140488187?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
150+
</p>
151+
<p style="font-size:17px; font-weight:600;">Abhinav Anand</p>
152+
<p align="center">
153+
<a href = "https://github.com/Abhinav-055"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
154+
<a href = "https://www.linkedin.com/in/abhinav-anand--/">
155+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
156+
</a>
157+
</p>
158+
</td>
159+
160+
<td>
161+
<p align="center">
162+
<img src = "https://avatars.githubusercontent.com/u/56132559?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
163+
</p>
164+
<p style="font-size:17px; font-weight:600;">Abhinav Ganeshan</p>
165+
<p align="center">
166+
<a href = "https://github.com/Abh1noob"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
167+
<a href = "https://www.linkedin.com/in/abhinav-gk/">
168+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
169+
</a>
170+
</p>
171+
</td>
172+
</tr>
173+
<td>
174+
<p align="center">
175+
<img src = "https://avatars.githubusercontent.com/u/143117260?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
176+
</p>
177+
<p style="font-size:17px; font-weight:600;">Abhinav Garg</p>
178+
<p align="center">
179+
<a href = "https://github.com/ABHINAVGARG05"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
180+
<a href = "https://www.linkedin.com/in/abhinav-garg-75798028a/">
181+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
182+
</a>
183+
</p>
184+
</td>
185+
186+
<td>
187+
<p align="center">
188+
<img src = "https://avatars.githubusercontent.com/u/67090539?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
189+
</p>
190+
<p style="font-size:17px; font-weight:600;">Abhinav Pant</p>
191+
<p align="center">
192+
<a href = "https://github.com/abhitrueprogrammer"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
193+
<a href = "https://www.linkedin.com/in/abhinav-pant-081b79243/">
194+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
195+
</a>
196+
</p>
197+
</td>
198+
<td>
199+
<p align="center">
200+
<img src = "https://avatars.githubusercontent.com/u/84934511?v=4" width="200" height="200" alt="profilepic" style="border: 2px solid grey; width: 170px; height:170px">
201+
</p>
202+
<p style="font-size:17px; font-weight:600;">Nishant Gupta</p>
203+
<p align="center">
204+
<a href = "https://github.com/NishantGupt786"><img src = "http://www.iconninja.com/files/241/825/211/round-collaboration-social-github-code-circle-network-icon.svg" width="36" height = "36" alt="GitHub"/></a>
205+
<a href = "https://www.linkedin.com/in/nishant-gupta-12913221b">
206+
<img src = "http://www.iconninja.com/files/863/607/751/network-linkedin-social-connection-circular-circle-media-icon.svg" width="36" height="36" alt="LinkedIn"/>
207+
</a>
208+
</p>
209+
</td>
210+
</tr>
211+
</table>
212+
213+
# License
214+
215+
Copyright © 2025, [CodeChef-VIT](https://github.com/CodeChefVIT) and all other contributors.
216+
Released under the [MIT License](LICENSE).
217+
218+
<p align="center">
219+
Made with :heart: by <a href="https://www.codechefvit.com" target="_blank">CodeChef-VIT</a>
220+
</p>

go.sum

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/r
1515
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
1616
github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
1717
github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
18+
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
19+
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
1820
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
1921
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
2022
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
@@ -69,20 +71,14 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
6971
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
7072
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
7173
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
72-
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
73-
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
7474
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
7575
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
76-
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
77-
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
7876
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
7977
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
8078
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
8179
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
8280
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
8381
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
84-
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
85-
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
8682
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
8783
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
8884
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=

0 commit comments

Comments
 (0)